selectionCss-tests.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. module('Dropdown - selectionCssClass');
  2. var $ = require('jquery');
  3. var Utils = require('select2/utils');
  4. var Options = require('select2/options');
  5. var SingleSelection = require('select2/selection/single');
  6. var SelectionCSS = Utils.Decorate(
  7. SingleSelection,
  8. require('select2/selection/selectionCss')
  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. selectionCssClass: ':all:'
  14. });
  15. var select = new SelectionCSS($element, options);
  16. var $container = select.render();
  17. assert.ok($container.hasClass('test'));
  18. assert.ok($container.hasClass('copy'));
  19. assert.ok($container.hasClass('works'));
  20. assert.ok(!$container.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. selectionCssClass: ':all: other'
  26. });
  27. var select = new SelectionCSS($element, options);
  28. var $container = select.render();
  29. assert.ok($container.hasClass('test'));
  30. assert.ok($container.hasClass('copy'));
  31. assert.ok($container.hasClass('works'));
  32. assert.ok($container.hasClass('other'));
  33. assert.ok(!$container.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. selectionCssClass: 'other'
  39. });
  40. var select = new SelectionCSS($element, options);
  41. var $container = select.render();
  42. assert.ok($container.hasClass('other'));
  43. assert.ok(!$container.hasClass('copy'));
  44. });