72e5c2a50d
This groups tests into common HTML files so they can be run more quickly. This also reduces the number of Sauce Labs instances that have to be run, as one instance was previously spun up for each file.
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');
|
|
});
|