aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bower_components/select2/tests/dropdown/dropdownCss-tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bower_components/select2/tests/dropdown/dropdownCss-tests.js')
-rw-r--r--public/bower_components/select2/tests/dropdown/dropdownCss-tests.js104
1 files changed, 104 insertions, 0 deletions
diff --git a/public/bower_components/select2/tests/dropdown/dropdownCss-tests.js b/public/bower_components/select2/tests/dropdown/dropdownCss-tests.js
new file mode 100644
index 0000000..9969335
--- /dev/null
+++ b/public/bower_components/select2/tests/dropdown/dropdownCss-tests.js
@@ -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'));
+});