mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
module('Selection containers - Placeholders');
 | 
						|
 | 
						|
var Placeholder = require('select2/selection/placeholder');
 | 
						|
var SingleSelection = require('select2/selection/single');
 | 
						|
 | 
						|
var $ = require('jquery');
 | 
						|
var Options = require('select2/options');
 | 
						|
var Utils = require('select2/utils');
 | 
						|
 | 
						|
var SinglePlaceholder = Utils.Decorate(SingleSelection, Placeholder);
 | 
						|
 | 
						|
var placeholderOptions = new Options({
 | 
						|
  placeholder: {
 | 
						|
    id: 'placeholder',
 | 
						|
    text: 'This is the placeholder'
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
test('normalizing placeholder ignores objects', function (assert) {
 | 
						|
  var selection = new SinglePlaceholder(
 | 
						|
    $('#qunit-fixture .single'),
 | 
						|
    placeholderOptions
 | 
						|
  );
 | 
						|
 | 
						|
  var original = {
 | 
						|
    id: 'test',
 | 
						|
    text: 'testing'
 | 
						|
  };
 | 
						|
 | 
						|
  var normalized = selection.normalizePlaceholder(original);
 | 
						|
 | 
						|
  assert.equal(original, normalized);
 | 
						|
});
 | 
						|
 | 
						|
test('normalizing placeholder gives object for string', function (assert) {
 | 
						|
  var selection = new SinglePlaceholder(
 | 
						|
    $('#qunit-fixture .single'),
 | 
						|
    placeholderOptions
 | 
						|
  );
 | 
						|
 | 
						|
  var normalized = selection.normalizePlaceholder('placeholder');
 | 
						|
 | 
						|
  assert.equal(normalized.id, '');
 | 
						|
  assert.equal(normalized.text, 'placeholder');
 | 
						|
});
 | 
						|
 | 
						|
 | 
						|
test('text is shown for placeholder option on single', function (assert) {
 | 
						|
  var selection = new SinglePlaceholder(
 | 
						|
    $('#qunit-fixture .single'),
 | 
						|
    placeholderOptions
 | 
						|
  );
 | 
						|
 | 
						|
  var $selection = selection.render();
 | 
						|
 | 
						|
  selection.update([{
 | 
						|
    id: 'placeholder'
 | 
						|
  }]);
 | 
						|
 | 
						|
  assert.equal($selection.text(), 'This is the placeholder');
 | 
						|
});
 | 
						|
 | 
						|
test('placeholder is shown when no options are selected', function (assert) {
 | 
						|
  var selection = new SinglePlaceholder(
 | 
						|
    $('#qunit-fixture .multiple'),
 | 
						|
    placeholderOptions
 | 
						|
  );
 | 
						|
 | 
						|
  var $selection = selection.render();
 | 
						|
 | 
						|
  selection.update([]);
 | 
						|
 | 
						|
  assert.equal($selection.text(), 'This is the placeholder');
 | 
						|
});
 |