8
0

selection.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /* bender-tags: treeview */
  6. 'use strict';
  7. import Selection from '/ckeditor5/engine/treeview/selection.js';
  8. import Range from '/ckeditor5/engine/treeview/range.js';
  9. import Element from '/ckeditor5/engine/treeview/element.js';
  10. import CKEditorError from '/ckeditor5/utils/ckeditorerror.js';
  11. describe( 'Selection', () => {
  12. let selection;
  13. beforeEach( () => {
  14. selection = new Selection();
  15. } );
  16. describe( 'addRange', () => {
  17. it( 'should throw when range is intersecting with already added range', () => {
  18. const el = new Element( 'p' );
  19. const range1 = Range.createFromParentsAndOffsets( el, 5, el, 10 );
  20. const range2 = Range.createFromParentsAndOffsets( el, 7, el, 15 );
  21. selection.addRange( range1 );
  22. expect( () => {
  23. selection.addRange( range2 );
  24. } ).to.throw( CKEditorError, 'view-selection-range-intersects' );
  25. expect( () => {
  26. selection.addRange( range1 );
  27. } ).to.throw( CKEditorError, 'view-selection-range-intersects' );
  28. } );
  29. } );
  30. } );