51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
module('Defaults - Ajax');
 | 
						|
 | 
						|
test('options are merged recursively with default options', function (assert) {
 | 
						|
  var defaults = require('select2/defaults');
 | 
						|
 | 
						|
  var ajaxDelay = 250;
 | 
						|
  var ajaxUrl = 'http://www.test.com';
 | 
						|
 | 
						|
  var mergedOptions;
 | 
						|
 | 
						|
  defaults.set('ajax--delay', ajaxDelay);
 | 
						|
 | 
						|
  mergedOptions = defaults.apply({
 | 
						|
    ajax: {
 | 
						|
      url: ajaxUrl
 | 
						|
    }
 | 
						|
  });
 | 
						|
 | 
						|
  assert.equal(
 | 
						|
    mergedOptions.ajax.delay,
 | 
						|
    ajaxDelay,
 | 
						|
    'Ajax default options are present on the merged options'
 | 
						|
  );
 | 
						|
 | 
						|
  assert.equal(
 | 
						|
    mergedOptions.ajax.url,
 | 
						|
    ajaxUrl,
 | 
						|
    'Ajax provided options are present on the merged options'
 | 
						|
  );
 | 
						|
 | 
						|
  defaults.reset();
 | 
						|
});
 | 
						|
 | 
						|
test('more than one default option can be changed via set()', function(assert) {
 | 
						|
  var defaults = require('select2/defaults');
 | 
						|
  var ajaxDelay = 123;
 | 
						|
  var dataDataType = 'xml';
 | 
						|
  defaults.set('ajax--delay', ajaxDelay);
 | 
						|
  defaults.set('ajax--data-type', dataDataType);
 | 
						|
 | 
						|
  assert.equal(
 | 
						|
      defaults.defaults.ajax.delay,
 | 
						|
      ajaxDelay,
 | 
						|
      'Both ajax.delay and ajax.dataType present in defaults');
 | 
						|
  assert.equal(
 | 
						|
    defaults.defaults.ajax.dataType,
 | 
						|
    dataDataType,
 | 
						|
    'Both ajax.delay and ajax.dataType present in defaults');
 | 
						|
  defaults.reset();
 | 
						|
});
 |