dropdownCss-tests.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. module('Dropdown - dropdownCssClass');
  2. var $ = require('jquery');
  3. var Utils = require('select2/utils');
  4. var Options = require('select2/options');
  5. var Dropdown = require('select2/dropdown');
  6. var DropdownCSS = Utils.Decorate(
  7. Dropdown,
  8. require('select2/dropdown/dropdownCss')
  9. );
  10. test('all classes will be copied if :all: is used', function (assert) {
  11. var $element = $('<select class="test copy works"></select>');
  12. var options = new Options({
  13. dropdownCssClass: ':all:'
  14. });
  15. var select = new DropdownCSS($element, options);
  16. var $dropdown = select.render();
  17. assert.ok($dropdown.hasClass('test'));
  18. assert.ok($dropdown.hasClass('copy'));
  19. assert.ok($dropdown.hasClass('works'));
  20. assert.ok(!$dropdown.hasClass(':all:'));
  21. });
  22. test(':all: can be used with other classes', function (assert) {
  23. var $element = $('<select class="test copy works"></select>');
  24. var options = new Options({
  25. dropdownCssClass: ':all: other'
  26. });
  27. var select = new DropdownCSS($element, options);
  28. var $dropdown = select.render();
  29. assert.ok($dropdown.hasClass('test'));
  30. assert.ok($dropdown.hasClass('copy'));
  31. assert.ok($dropdown.hasClass('works'));
  32. assert.ok($dropdown.hasClass('other'));
  33. assert.ok(!$dropdown.hasClass(':all:'));
  34. });
  35. test('classes can be passed in as a string', function (assert) {
  36. var $element = $('<select class="test copy works"></select>');
  37. var options = new Options({
  38. dropdownCssClass: 'other'
  39. });
  40. var select = new DropdownCSS($element, options);
  41. var $dropdown = select.render();
  42. assert.ok($dropdown.hasClass('other'));
  43. });