aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bower_components/select2/tests/selection/single-tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bower_components/select2/tests/selection/single-tests.js')
-rw-r--r--public/bower_components/select2/tests/selection/single-tests.js117
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'
+ );
+});