/**
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
import { Client, syncClients, expectClients, clearBuffer } from './utils.js';
describe( 'transform', () => {
let john, kate;
beforeEach( () => {
return Promise.all( [
Client.get( 'john' ).then( client => ( john = client ) ),
Client.get( 'kate' ).then( client => ( kate = client ) )
] );
} );
afterEach( () => {
clearBuffer();
return Promise.all( [ john.destroy(), kate.destroy() ] );
} );
describe( 'rename', () => {
describe( 'by rename', () => {
it( 'elements in different paths #1', () => {
john.setData( '
[]' ); kate.setData( 'Foo Bar
' ); john.rename( 'blockQuote2' ); kate.rename( 'heading2' ); syncClients(); expectClients( '[]Foo Bar
' ); kate.setData( '[]Foo Bar
' ); john.rename( 'heading1' ); kate.rename( 'heading2' ); syncClients(); expectClients( '[]Foo Bar
' ); } ); } ); describe( 'by split', () => { it( 'element in different path', () => { john.setData( 'Foo Bar
' + '' ); } ); it( 'element in same path', () => { john.setData( 'Bar ' + '
' ); } ); } ); describe( 'by unwrap', () => { it( 'element in different path', () => { john.setData( 'Foo
' ); kate.setData( 'Bar
[' ); john.rename( 'heading1' ); kate.unwrap(); syncClients(); expectClients( 'Bar ]
' ); kate.setData( 'Bar
' ); john.rename( 'heading1' ); kate.unwrap(); syncClients(); expectClients( '[]Bar
Bar' ); } ); it( 'element in same path', () => { john.setData( '
' ); kate.setData( 'F[]oo
[' ); john.rename( 'heading1' ); kate.unwrap(); syncClients(); expectClients( 'Foo ]
' ); kate.setData( '[]Foo
' ); john.rename( 'heading1' ); kate.unwrap(); syncClients(); expectClients( '[]Foo
Foo' ); } ); } ); describe( 'by merge', () => { it( 'element into paragraph #1', () => { john.setData( '
' ); kate.setData( 'F[]oo Bar
' ); john.rename( 'heading1' ); kate.merge(); syncClients(); expectClients( 'Foo []Bar
' ); } ); it( 'wrapped element into wrapped paragraph #2', () => { john.setData( 'FooBar
' ); kate.setData( 'Foo B[]ar
' ); john.rename( 'heading1' ); kate.merge(); syncClients(); expectClients( 'Foo []Bar
' ); } ); } ); } ); } );FooBar