55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
| var $ = require('jquery');
 | |
| var Utils = require('select2/utils');
 | |
| 
 | |
| module('Utils - GetUniqueElementId');
 | |
| 
 | |
| test('Adds a prefix to the existing ID if one exists', function (assert) {
 | |
|     var $element = $('<select id="existing-id"></select>');
 | |
| 
 | |
|     var id = Utils.GetUniqueElementId($element[0]);
 | |
| 
 | |
|     assert.notEqual(id, 'existing-id');
 | |
|     assert.notEqual(id.indexOf('existing-id'), -1);
 | |
| });
 | |
| 
 | |
| test('Generated random ID is not a number', function (assert) {
 | |
|     var $element = $('<select></select>');
 | |
| 
 | |
|     var id = Utils.GetUniqueElementId($element[0]);
 | |
| 
 | |
|     assert.ok(isNaN(id));
 | |
| });
 | |
| 
 | |
| module('Utils - RemoveData');
 | |
| 
 | |
| test('The data-select2-id attribute is removed', function (assert) {
 | |
|     var $element = $('<select data-select2-id="test"></select>');
 | |
| 
 | |
|     Utils.RemoveData($element[0]);
 | |
| 
 | |
|     assert.notEqual(
 | |
|         $element.attr('data-select2-id'),
 | |
|         'test',
 | |
|         'The internal attribute was not removed when the data was cleared'
 | |
|     );
 | |
| });
 | |
| 
 | |
| test('The internal cache for the element is cleared', function (assert) {
 | |
|     var $element = $('<select data-select2-id="test"></select>');
 | |
| 
 | |
|     Utils.__cache.test = {
 | |
|         'foo': 'bar'
 | |
|     };
 | |
| 
 | |
|     Utils.RemoveData($element[0]);
 | |
| 
 | |
|     assert.equal(Utils.__cache.test, null, 'The cache should now be empty');
 | |
| });
 | |
| 
 | |
| test('Calling it on an element without data works', function (assert) {
 | |
|     assert.expect(0);
 | |
| 
 | |
|     var $element = $('<select></select>');
 | |
| 
 | |
|     Utils.RemoveData($element[0]);
 | |
| }); | 
