mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			140 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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'
 | 
						|
  );
 | 
						|
});
 |