| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | 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'  );});
 |