merge.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { Client, syncClients, expectClients } from './utils.js';
  2. describe( 'transform', () => {
  3. let john, kate;
  4. beforeEach( () => {
  5. return Promise.all( [
  6. Client.get( 'john' ).then( client => ( john = client ) ),
  7. Client.get( 'kate' ).then( client => ( kate = client ) )
  8. ] );
  9. } );
  10. afterEach( () => {
  11. return Promise.all( [ john.destroy(), kate.destroy() ] );
  12. } );
  13. describe( 'merge', () => {
  14. describe( 'by merge', () => {
  15. it( 'elements into paragraph', () => {
  16. john.setData( '<paragraph>Foo</paragraph>[]<paragraph>Bar</paragraph><paragraph>Abc</paragraph>' );
  17. kate.setData( '<paragraph>Foo</paragraph><paragraph>Bar</paragraph>[]<paragraph>Abc</paragraph>' );
  18. john.merge();
  19. kate.merge();
  20. syncClients();
  21. expectClients( '<paragraph>FooBarAbc</paragraph>' );
  22. } );
  23. } );
  24. describe( 'by delete', () => {
  25. it( 'text from two elements', () => {
  26. john.setData( '<paragraph>Foo</paragraph>[]<paragraph>Bar</paragraph>' );
  27. kate.setData( '<paragraph>Fo[o</paragraph><paragraph>Ba]r</paragraph>' );
  28. john.merge();
  29. kate.delete();
  30. syncClients();
  31. expectClients( '<paragraph>For</paragraph>' );
  32. } );
  33. } );
  34. } );
  35. } );