|
@@ -1,5 +1,7 @@
|
|
|
module('select2(val)');
|
|
|
|
|
|
+var Utils = require('select2/utils');
|
|
|
+
|
|
|
test('multiple elements with arguments works', function (assert) {
|
|
|
var $ = require('jquery');
|
|
|
require('jquery.select2');
|
|
@@ -56,4 +58,41 @@ test('initializes when jQuery $.data contains' +
|
|
|
'3',
|
|
|
'The option value should be pulled correctly'
|
|
|
);
|
|
|
+});
|
|
|
+
|
|
|
+test('$element.data returns instance and options correctly',
|
|
|
+ function (assert) {
|
|
|
+ var $ = require('jquery');
|
|
|
+ require('jquery.select2');
|
|
|
+
|
|
|
+ var $select = $(
|
|
|
+ '<select>' +
|
|
|
+ '<option value="1">One</option>' +
|
|
|
+ '<option value="2">Two</option>' +
|
|
|
+ '<option value="3" selected>Three</option>' +
|
|
|
+ '</select>'
|
|
|
+ );
|
|
|
+
|
|
|
+ // Initialize.
|
|
|
+ $select.select2({maximumSelectionLength: 2, multiple: true});
|
|
|
+
|
|
|
+ assert.equal(
|
|
|
+ $select.val(),
|
|
|
+ '3',
|
|
|
+ 'Only 1 option should be pulled.'
|
|
|
+ );
|
|
|
+
|
|
|
+ // Try to resolve instance via .data('select2').
|
|
|
+ var $instance = $select.data('select2');
|
|
|
+ assert.ok($instance);
|
|
|
+ assert.ok($instance.options);
|
|
|
+
|
|
|
+ // Ensure $select.data('select2') is the same instance
|
|
|
+ // created by .select2()
|
|
|
+ assert.equal($instance, Utils.GetData($instance.$element[0],
|
|
|
+ 'select2'));
|
|
|
+
|
|
|
+ // Ensure initialized property matches.
|
|
|
+ assert.equal($instance.options.options.maximumSelectionLength,
|
|
|
+ 2);
|
|
|
});
|