diff options
Diffstat (limited to 'public/bower_components/select2/tests/selection/single-tests.js')
-rw-r--r-- | public/bower_components/select2/tests/selection/single-tests.js | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/public/bower_components/select2/tests/selection/single-tests.js b/public/bower_components/select2/tests/selection/single-tests.js new file mode 100644 index 0000000..2731b2a --- /dev/null +++ b/public/bower_components/select2/tests/selection/single-tests.js @@ -0,0 +1,117 @@ +module('Selection containers - Single'); + +var SingleSelection = require('select2/selection/single'); + +var $ = require('jquery'); +var Options = require('select2/options'); +var Utils = require('select2/utils'); + +var options = new Options({}); + +test('display uses templateSelection', function (assert) { + var called = false; + + var templateOptions = new Options({ + templateSelection: function (data) { + called = true; + + return data.text; + } + }); + + var selection = new SingleSelection( + $('#qunit-fixture .single'), + templateOptions + ); + + var out = selection.display({ + text: 'test' + }); + + assert.ok(called); + + assert.equal(out, 'test'); +}); + +test('templateSelection can addClass', function (assert) { + var called = false; + + var templateOptions = new Options({ + templateSelection: function (data, container) { + called = true; + container.addClass('testclass'); + return data.text; + } + }); + + var selection = new SingleSelection( + $('#qunit-fixture .single'), + templateOptions + ); + + var $container = selection.selectionContainer(); + + var out = selection.display({ + text: 'test' + }, $container); + + assert.ok(called); + + assert.equal(out, 'test'); + + assert.ok($container.hasClass('testclass')); +}); + +test('empty update clears the selection', function (assert) { + var selection = new SingleSelection( + $('#qunit-fixture .single'), + options + ); + + var $selection = selection.render(); + var $rendered = $selection.find('.select2-selection__rendered'); + + $rendered.text('testing'); + + selection.update([]); + + assert.equal($rendered.text(), ''); +}); + +test('update renders the data text', function (assert) { + var selection = new SingleSelection( + $('#qunit-fixture .single'), + options + ); + + var $selection = selection.render(); + var $rendered = $selection.find('.select2-selection__rendered'); + + selection.update([{ + text: 'test' + }]); + + assert.equal($rendered.text(), 'test'); +}); + +test('escapeMarkup is being used', function (assert) { + var selection = new SingleSelection( + $('#qunit-fixture .single'), + options + ); + + var $selection = selection.render(); + var $rendered = $selection.find('.select2-selection__rendered'); + + var unescapedText = '<script>bad("stuff");</script>'; + + selection.update([{ + text: unescapedText + }]); + + assert.equal( + $rendered.text(), + unescapedText, + 'The text should be escaped by default to prevent injection' + ); +}); |