diff --git a/tests/selection/single-tests.js b/tests/selection/single-tests.js new file mode 100644 index 00000000..fb46e8f0 --- /dev/null +++ b/tests/selection/single-tests.js @@ -0,0 +1,66 @@ +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('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'); +}); diff --git a/tests/selection/single.html b/tests/selection/single.html new file mode 100644 index 00000000..2282d6d0 --- /dev/null +++ b/tests/selection/single.html @@ -0,0 +1,22 @@ + + +
+ + + + + +