(function() { window.setup_xss_test = function(html, options, done) { window.xss = function() { window.clearTimeout(timeout); complete(new Error('Exploit executed')); }; var test = setup_test(html, options); var complete = function(err) { window.xss = function() {}; done(err); }; var timeout = window.setTimeout(complete, 75); return test; }; describe('XSS', function() { describe('Raw HTML in original input value', function() { it('should not trigger exploit', function(done) { setup_xss_test('', {}, done); }); }); describe('Raw HTML in optgroup label', function() { it('should not trigger exploit', function(done) { var test = setup_xss_test('', {}, done); test.selectize.refreshOptions(); test.selectize.open(); }); }); describe('Raw HTML in option label should not trigger exploit', function() { it('should not trigger exploit', function(done) { setup_xss_test('', { options: [ {value: '1', label: ''} ], items: ['1'], labelField: 'label', valueField: 'value' }, done); }); }); describe('Raw HTML in option value should not trigger exploit', function() { it('should not trigger exploit', function(done) { setup_xss_test('', { options: [ {value: '', label: '1'} ], items: [''], labelField: 'label', valueField: 'value' }, done); }); }); }); })();