renamedelta.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /**
  2. * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. import Model from '../../../src/model/model';
  6. import Element from '../../../src/model/element';
  7. import Text from '../../../src/model/text';
  8. import RenameDelta from '../../../src/model/delta/renamedelta';
  9. describe( 'RenameDelta', () => {
  10. let renameDelta, model, doc, root;
  11. beforeEach( () => {
  12. model = new Model();
  13. doc = model.document;
  14. root = doc.createRoot();
  15. renameDelta = new RenameDelta();
  16. } );
  17. describe( 'constructor()', () => {
  18. it( 'should create rename delta with no operations added', () => {
  19. expect( renameDelta.operations.length ).to.equal( 0 );
  20. } );
  21. } );
  22. describe( 'type', () => {
  23. it( 'should be equal to rename', () => {
  24. expect( renameDelta.type ).to.equal( 'rename' );
  25. } );
  26. } );
  27. describe( 'getReversed', () => {
  28. it( 'should return instance of RenameDelta', () => {
  29. const reversed = renameDelta.getReversed();
  30. expect( reversed ).to.be.instanceof( RenameDelta );
  31. } );
  32. it( 'should return correct RenameDelta', () => {
  33. root.appendChildren( new Element( 'p', null, new Text( 'abc' ) ) );
  34. model.change( writer => {
  35. writer.rename( root.getChild( 0 ), 'h' );
  36. const reversed = writer.batch.deltas[ 0 ].getReversed();
  37. reversed.operations.forEach( operation => {
  38. model.applyOperation( operation );
  39. } );
  40. expect( root.maxOffset ).to.equal( 1 );
  41. expect( root.getChild( 0 ) ).to.have.property( 'name', 'p' );
  42. } );
  43. } );
  44. } );
  45. it( 'should provide proper className', () => {
  46. expect( RenameDelta.className ).to.equal( 'engine.model.delta.RenameDelta' );
  47. } );
  48. } );