8
0

markerdelta.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. import Model from '../../../src/model/model';
  6. import Range from '../../../src/model/range';
  7. import MarkerDelta from '../../../src/model/delta/markerdelta';
  8. import MarkerOperation from '../../../src/model/operation/markeroperation';
  9. describe( 'MarkerDelta', () => {
  10. let markerDelta, doc, root, range;
  11. beforeEach( () => {
  12. const model = new Model();
  13. doc = model.document;
  14. root = doc.createRoot();
  15. range = Range.createIn( root );
  16. markerDelta = new MarkerDelta();
  17. } );
  18. describe( 'constructor()', () => {
  19. it( 'should create merge delta with no operations added', () => {
  20. expect( markerDelta.operations.length ).to.equal( 0 );
  21. } );
  22. } );
  23. describe( 'type', () => {
  24. it( 'should be equal to marker', () => {
  25. expect( markerDelta.type ).to.equal( 'marker' );
  26. } );
  27. } );
  28. describe( 'getReversed', () => {
  29. it( 'should return correct MarkerDelta', () => {
  30. markerDelta.addOperation( new MarkerOperation( 'name', null, range, 0 ) );
  31. const reversed = markerDelta.getReversed();
  32. expect( reversed ).to.be.instanceof( MarkerDelta );
  33. expect( reversed.operations.length ).to.equal( 1 );
  34. const op = reversed.operations[ 0 ];
  35. expect( op ).to.be.an.instanceof( MarkerOperation );
  36. expect( op.oldRange.isEqual( range ) ).to.be.true;
  37. expect( op.newRange ).to.be.null;
  38. } );
  39. } );
  40. it( 'should provide proper className', () => {
  41. expect( MarkerDelta.className ).to.equal( 'engine.model.delta.MarkerDelta' );
  42. } );
  43. } );