aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bower_components/select2/tests/integration/select2-methods.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bower_components/select2/tests/integration/select2-methods.js')
-rw-r--r--public/bower_components/select2/tests/integration/select2-methods.js139
1 files changed, 139 insertions, 0 deletions
diff --git a/public/bower_components/select2/tests/integration/select2-methods.js b/public/bower_components/select2/tests/integration/select2-methods.js
new file mode 100644
index 0000000..b1e344a
--- /dev/null
+++ b/public/bower_components/select2/tests/integration/select2-methods.js
@@ -0,0 +1,139 @@
+module('select2(data)');
+
+var $ = require('jquery');
+var Select2 = require('select2/core');
+var Options = require('select2/options');
+
+test('single default selection returned', function (assert) {
+ var $select = $(
+ '<select>' +
+ '<option>One</option>' +
+ '<option>Two</option>' +
+ '<option value="3" selected>Three</option>' +
+ '</select>'
+ );
+ var options = new Options({});
+
+ var select = new Select2($select, options);
+
+ var items = select.data();
+
+ assert.equal(
+ items.length,
+ 1,
+ 'The one selected item should be returned'
+ );
+
+ var first = items[0];
+
+ assert.equal(
+ first.id,
+ '3',
+ 'The first option was correct'
+ );
+
+ assert.equal(
+ first.text,
+ 'Three',
+ 'The first option was correct'
+ );
+});
+
+test('multiple default selections returned', function (assert) {
+ var $select = $(
+ '<select multiple>' +
+ '<option selected>One</option>' +
+ '<option>Two</option>' +
+ '<option value="3" selected>Three</option>' +
+ '</select>'
+ );
+ var options = new Options({});
+
+ var select = new Select2($select, options);
+
+ var items = select.data();
+
+ assert.equal(
+ items.length,
+ 2,
+ 'The two selected items should be returned'
+ );
+
+ var first = items[0];
+
+ assert.equal(
+ first.id,
+ 'One',
+ 'The first option was correct'
+ );
+
+ var second = items[1];
+
+ assert.equal(
+ second.id,
+ '3',
+ 'The option value should be pulled correctly'
+ );
+});
+
+module('select2(val)');
+
+test('single value matches jquery value', function (assert) {
+ var $select = $(
+ '<select>' +
+ '<option>One</option>' +
+ '<option>Two</option>' +
+ '<option value="3" selected>Three</option>' +
+ '</select>'
+ );
+ var options = new Options({});
+
+ var select = new Select2($select, options);
+
+ var value = select.val();
+
+ assert.equal(
+ value,
+ '3',
+ 'The value should match the option tag attribute'
+ );
+
+ assert.equal(
+ value,
+ $select.val(),
+ 'The value should match the jquery value'
+ );
+});
+
+test('multiple value matches the jquery value', function (assert) {
+ var $select = $(
+ '<select multiple>' +
+ '<option selected>One</option>' +
+ '<option>Two</option>' +
+ '<option value="3" selected>Three</option>' +
+ '</select>'
+ );
+ var options = new Options({});
+
+ var select = new Select2($select, options);
+
+ var value = select.val();
+
+ assert.equal(
+ value.length,
+ 2,
+ 'Two options should be selected'
+ );
+
+ assert.deepEqual(
+ value,
+ ['One', '3'],
+ 'The values should match the option tag attribute'
+ );
+
+ assert.deepEqual(
+ value,
+ $select.val(),
+ 'The values should match the jquery values'
+ );
+});