140 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
| 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'
 | |
|   );
 | |
| });
 | 
