8
0

createdropdown.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. import utilsTestUtils from 'ckeditor5-utils/tests/_utils/utils';
  6. import createDropdown from 'ckeditor5-ui/src/dropdown/createdropdown';
  7. import Model from 'ckeditor5-ui/src/model';
  8. import DropdownView from 'ckeditor5-ui/src/dropdown/dropdownview';
  9. import DropdownPanelView from 'ckeditor5-ui/src/dropdown/dropdownpanelview';
  10. import ButtonView from 'ckeditor5-ui/src/button/buttonview';
  11. const assertBinding = utilsTestUtils.assertBinding;
  12. describe( 'createDropdown', () => {
  13. it( 'accepts model', () => {
  14. const modelDef = {
  15. label: 'foo',
  16. isOn: false,
  17. isEnabled: true,
  18. withText: false,
  19. tooltip: false
  20. };
  21. const model = new Model( modelDef );
  22. const view = createDropdown( model );
  23. assertBinding( view.buttonView,
  24. modelDef,
  25. [
  26. [ model, { label: 'bar', isOn: true, isEnabled: false, withText: true, tooltip: true } ]
  27. ],
  28. { label: 'bar', isOn: true, isEnabled: false, withText: true, tooltip: true }
  29. );
  30. } );
  31. it( 'accepts locale', () => {
  32. const locale = {};
  33. const view = createDropdown( new Model(), locale );
  34. expect( view.locale ).to.equal( locale );
  35. expect( view.buttonView.locale ).to.equal( locale );
  36. expect( view.panelView.locale ).to.equal( locale );
  37. } );
  38. it( 'returns view', () => {
  39. const view = createDropdown( new Model() );
  40. expect( view ).to.be.instanceOf( DropdownView );
  41. } );
  42. it( 'creates dropdown#buttonView out of ButtonView', () => {
  43. const view = createDropdown( new Model() );
  44. expect( view.buttonView ).to.be.instanceOf( ButtonView );
  45. } );
  46. it( 'creates dropdown#panelView out of DropdownPanelView', () => {
  47. const view = createDropdown( new Model() );
  48. expect( view.panelView ).to.be.instanceOf( DropdownPanelView );
  49. } );
  50. } );