Initial commit
This commit is contained in:
+42
@@ -0,0 +1,42 @@
|
||||
var Backbone = require('backbone');
|
||||
var DatasetMetadataView = require('builder/components/modals/dataset-metadata/dataset-metadata-view');
|
||||
|
||||
describe('components/modals/dataset-metadata/dataset-metadata-view', function () {
|
||||
beforeEach(function () {
|
||||
this.view = new DatasetMetadataView({
|
||||
modalModel: new Backbone.Model(),
|
||||
configModel: new Backbone.Model(),
|
||||
visDefinitionModel: new Backbone.Model(),
|
||||
isLocked: false
|
||||
});
|
||||
});
|
||||
|
||||
it('._getMetadataName sanitizes input', function () {
|
||||
this.view._visMetadataModel.set('name', "><script>alert('yep');</script>");
|
||||
|
||||
var name = this.view._getMetadataName();
|
||||
|
||||
expect(name).toEqual('>');
|
||||
});
|
||||
|
||||
it('._getMetadataDescription sanitizes input', function () {
|
||||
this.view._visMetadataModel.set('description', "<img src='http://emojipedia-us.s3.amazonaws.com/cache/b8/b4/b8b4e86a110557e6b6d666c9cf6d6cc8.png' />");
|
||||
|
||||
var name = this.view._getMetadataDescription();
|
||||
|
||||
expect(name).toEqual('<img>');
|
||||
});
|
||||
|
||||
it('._getMetadataTags sanitizes input', function () {
|
||||
this.view._visMetadataModel.set('tags', [
|
||||
"<img src='http://emojipedia-us.s3.amazonaws.com/cache/b8/b4/b8b4e86a110557e6b6d666c9cf6d6cc8.png' />",
|
||||
"><script>alert('yep');</script>"
|
||||
]);
|
||||
|
||||
var tags = this.view._getMetadataTags();
|
||||
|
||||
expect(tags.length).toBe(2);
|
||||
expect(tags[0]).toEqual('<img>');
|
||||
expect(tags[1]).toEqual('>');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,43 @@
|
||||
var Backbone = require('backbone');
|
||||
var FormView = require('builder/components/modals/dataset-metadata/form/form-view');
|
||||
|
||||
describe('components/modals/dataset-metadata/form-view', function () {
|
||||
beforeEach(function () {
|
||||
this.view = new FormView({
|
||||
visDefinitionModel: new Backbone.Model(),
|
||||
visMetadataModel: new Backbone.Model(),
|
||||
configModel: new Backbone.Model(),
|
||||
isLocked: false
|
||||
});
|
||||
this.view.model = {};
|
||||
});
|
||||
|
||||
it('._commitView should call _sanitizeName', function () {
|
||||
spyOn(this.view, '_sanitizeName');
|
||||
var name = 'something';
|
||||
var view = {
|
||||
model: {
|
||||
changed: {name: name},
|
||||
get: function () {
|
||||
return name;
|
||||
}
|
||||
},
|
||||
commit: function () {}
|
||||
};
|
||||
|
||||
this.view._commitView(view);
|
||||
|
||||
expect(this.view._sanitizeName).toHaveBeenCalledWith(name);
|
||||
});
|
||||
|
||||
it('._sanitizeName should sanitize input and set metadata model name', function () {
|
||||
this.view._sanitizeName('<script>');
|
||||
expect(this.view._visMetadataModel.get('name')).toEqual('');
|
||||
|
||||
this.view._sanitizeName('something');
|
||||
expect(this.view._visMetadataModel.get('name')).toEqual('something');
|
||||
|
||||
this.view._sanitizeName(null);
|
||||
expect(this.view._visMetadataModel.get('name')).toEqual('');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user