Add bower_components as it contains the resources used by github pages.

This commit is contained in:
Arpad Csanyi
2016-01-14 00:43:09 +01:00
parent 7b7b550e1a
commit bfffb12f8f
704 changed files with 118925 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
module('Dropdown - dropdownCssClass compatibility');
var $ = require('jquery');
var Utils = require('select2/utils');
var Options = require('select2/options');
var Dropdown = require('select2/dropdown');
var DropdownCSS = Utils.Decorate(
Dropdown,
require('select2/compat/dropdownCss')
);
test('all classes will be copied if :all: is used', function (assert) {
var $element = $('<select class="test copy works"></select>');
var options = new Options({
dropdownCssClass: ':all:'
});
var select = new DropdownCSS($element, options);
var $dropdown = select.render();
assert.ok($dropdown.hasClass('test'));
assert.ok($dropdown.hasClass('copy'));
assert.ok($dropdown.hasClass('works'));
assert.ok(!$dropdown.hasClass(':all:'));
});
test(':all: can be used with other classes', function (assert) {
var $element = $('<select class="test copy works"></select>');
var options = new Options({
dropdownCssClass: ':all: other'
});
var select = new DropdownCSS($element, options);
var $dropdown = select.render();
assert.ok($dropdown.hasClass('test'));
assert.ok($dropdown.hasClass('copy'));
assert.ok($dropdown.hasClass('works'));
assert.ok($dropdown.hasClass('other'));
assert.ok(!$dropdown.hasClass(':all:'));
});
test('classes can be passed in as a string', function (assert) {
var $element = $('<select class="test copy works"></select>');
var options = new Options({
dropdownCssClass: 'other'
});
var select = new DropdownCSS($element, options);
var $dropdown = select.render();
assert.ok($dropdown.hasClass('other'));
});
test('a function can be used based on the element', function (assert){
var $element = $('<select class="test"></select>');
var options = new Options({
dropdownCssClass: function ($element) {
return 'function';
}
});
var select = new DropdownCSS($element, options);
var $dropdown = select.render();
assert.ok($dropdown.hasClass('function'));
assert.ok(!$dropdown.hasClass('test'));
});
test(':all: works around custom adapters', function (assert) {
var $element = $('<select class="test"></select>');
var options = new Options({
dropdownCssClass: ':all: something',
adaptDropdownCssClass: function (clazz) {
return clazz + '-modified';
}
});
var select = new DropdownCSS($element, options);
var $dropdown = select.render();
assert.ok($dropdown.hasClass('something'));
assert.ok($dropdown.hasClass('test'));
assert.ok($dropdown.hasClass('test-modified'));
});
module('Dropdown - adaptDropdownCss compatibility');
test('only return when adapted', function (assert) {
var $element = $('<select class="original"></select>');
var options = new Options({
adaptDropdownCssClass: function (clazz) {
return 'modified';
}
});
var select = new DropdownCSS($element, options);
var $dropdown = select.render();
assert.ok(!$dropdown.hasClass('original'));
assert.ok($dropdown.hasClass('modified'));
});

View File

@@ -0,0 +1,137 @@
module('Dropdown - selectOnClose');
var $ = require('jquery');
var Utils = require('select2/utils');
var Options = require('select2/options');
var SelectData = require('select2/data/select');
var Results = require('select2/results');
var SelectOnClose = require('select2/dropdown/selectOnClose');
var ModifiedResults = Utils.Decorate(Results, SelectOnClose);
var options = new Options({
selectOnClose: true
});
test('will not trigger if no results were given', function (assert) {
expect(0);
var $element = $('<select></select>');
var select = new ModifiedResults($element, options, new SelectData($element));
var $dropdown = select.render();
var container = new MockContainer();
select.bind(container, $('<div></div>'));
select.on('select', function () {
assert.ok(false, 'The select event should not have been triggered');
});
container.trigger('close');
});
test('will not trigger if the results list is empty', function (assert) {
expect(1);
var $element = $('<select></select>');
var select = new ModifiedResults($element, options, new SelectData($element));
var $dropdown = select.render();
var container = new MockContainer();
select.bind(container, $('<div></div>'));
select.on('select', function () {
assert.ok(false, 'The select event should not have been triggered');
});
select.append({
results: []
});
assert.equal(
$dropdown.find('li').length,
0,
'There should not be any results in the dropdown'
);
container.trigger('close');
});
test('will not trigger if no results here highlighted', function (assert) {
expect(2);
var $element = $('<select></select>');
var select = new ModifiedResults($element, options, new SelectData($element));
var $dropdown = select.render();
var container = new MockContainer();
select.bind(container, $('<div></div>'));
select.on('select', function () {
assert.ok(false, 'The select event should not have been triggered');
});
select.append({
results: [
{
id: '1',
text: 'Test'
}
]
});
assert.equal(
$dropdown.find('li').length,
1,
'There should be one result in the dropdown'
);
assert.equal(
$.trim($dropdown.find('li').text()),
'Test',
'The result should be the same as the one we appended'
);
container.trigger('close');
});
test('will trigger if there is a highlighted result', function (assert) {
expect(2);
var $element = $('<select></select>');
var select = new ModifiedResults($element, options, new SelectData($element));
var $dropdown = select.render();
var container = new MockContainer();
select.bind(container, $('<div></div>'));
select.on('select', function () {
assert.ok(true, 'The select event should have been triggered');
});
select.append({
results: [
{
id: '1',
text: 'Test'
}
]
});
assert.equal(
$dropdown.find('li').length,
1,
'There should be one result in the dropdown'
);
$dropdown.find('li').addClass('select2-results__option--highlighted');
container.trigger('close');
});

View File

@@ -0,0 +1,33 @@
module('Dropdown - Stoping event propagation');
var Dropdown = require('select2/dropdown');
var StopPropagation = require('select2/dropdown/stopPropagation');
var $ = require('jquery');
var Options = require('select2/options');
var Utils = require('select2/utils');
var CustomDropdown = Utils.Decorate(Dropdown, StopPropagation);
var options = new Options();
test('click event does not propagate', function (assert) {
expect(1);
var $container = $('#qunit-fixture .event-container');
var container = new MockContainer();
var dropdown = new CustomDropdown($('#qunit-fixture select'), options);
var $dropdown = dropdown.render();
dropdown.bind(container, $container);
$container.append($dropdown);
$container.on('click', function () {
assert.ok(false, 'The click event should have been stopped');
});
$dropdown.trigger('click');
assert.ok(true, 'Something went wrong if this failed');
});