Browse Source

Added: New scenarios.

Mgsy 7 years ago
parent
commit
92d19aa76e

+ 29 - 1
packages/ckeditor5-engine/tests/model/operation/transform/move.js

@@ -252,7 +252,7 @@ describe( 'transform', () => {
 				);
 			} );
 
-			it( 'element while moving', () => {
+			it( 'text while moving', () => {
 				john.setData( '<paragraph>[Foo]</paragraph><paragraph>Bar</paragraph>' );
 				kate.setData( '<paragraph>[Foo]</paragraph><paragraph>Bar</paragraph>' );
 
@@ -651,6 +651,34 @@ describe( 'transform', () => {
 
 				expectClients( '<paragraph>FooBar</paragraph>' );
 			} );
+
+			it( 'moved text', () => {
+				john.setData( '<paragraph>Foo</paragraph><paragraph>B[ar]</paragraph>' );
+				kate.setData( '<paragraph>Foo</paragraph>[]<paragraph>Bar</paragraph>' );
+
+				john.move( [ 0, 0 ] );
+				kate.merge();
+
+				syncClients();
+
+				expectClients( '<paragraph>arFooB</paragraph>' );
+			} );
+
+			it( 'moved text, then undo', () => {
+				john.setData( '<paragraph>Foo</paragraph><paragraph>B[ar]</paragraph>' );
+				kate.setData( '<paragraph>Foo</paragraph>[]<paragraph>Bar</paragraph>' );
+
+				john.move( [ 0, 0 ] );
+				kate.merge();
+
+				syncClients();
+
+				john.undo();
+
+				syncClients();
+
+				expectClients( '<paragraph>FooBar</paragraph>' );
+			} );
 		} );
 
 		describe( 'by rename', () => {

+ 12 - 0
packages/ckeditor5-engine/tests/model/operation/transform/remove.js

@@ -268,6 +268,18 @@ describe( 'transform', () => {
 				expectClients( '<blockQuote></blockQuote>' );
 			} );
 
+			it( 'text in same path, then undo', () => {
+				john.setData( '<blockQuote><paragraph>[Foo]</paragraph></blockQuote>' );
+				kate.setData( '<blockQuote><paragraph>[Foo]</paragraph></blockQuote>' );
+
+				john.remove();
+				kate.unwrap();
+
+				syncClients();
+
+				expectClients( '<blockQuote>Foo</blockQuote>' );
+			} );
+
 			it( 'element while removing', () => {
 				john.setData( '<paragraph>Foo</paragraph><blockQuote>[<paragraph>Bar</paragraph>]</blockQuote>' );
 				kate.setData( '<paragraph>Foo</paragraph><blockQuote>[<paragraph>Bar</paragraph>]</blockQuote>' );

+ 29 - 1
packages/ckeditor5-engine/tests/model/operation/transform/wrap.js

@@ -211,10 +211,26 @@ describe( 'transform', () => {
 
 				expectClients( '<blockQuote><div>Foo</div></blockQuote>' );
 			} );
+
+			it( 'the same text, then undo', () => {
+				john.setData( '<blockQuote><paragraph>[Foo]</paragraph></blockQuote>' );
+				kate.setData( '<blockQuote><paragraph>[Foo]</paragraph></blockQuote>' );
+
+				john.wrap( 'div' );
+				kate.unwrap();
+
+				syncClients();
+
+				kate.undo();
+
+				syncClients();
+
+				expectClients( '<blockQuote><paragraph><div>Foo</div></paragraph></blockQuote>' );
+			} );
 		} );
 
 		describe( 'by delete', () => {
-			it( 'text in two elements', () => {
+			it( 'text in two elements #1', () => {
 				john.setData( '[<paragraph>Foo</paragraph>]<paragraph>Bar</paragraph>' );
 				kate.setData( '<paragraph>Fo[o</paragraph><paragraph>Ba]r</paragraph>' );
 
@@ -229,6 +245,18 @@ describe( 'transform', () => {
 					'</blockQuote>'
 				);
 			} );
+
+			it( 'text in two elements #2', () => {
+				john.setData( '<paragraph>[Foo]</paragraph><paragraph>Bar</paragraph>' );
+				kate.setData( '<paragraph>Fo[o</paragraph><paragraph>Ba]r</paragraph>' );
+
+				john.wrap( 'div' );
+				kate.delete();
+
+				syncClients();
+
+				expectClients( '<paragraph><div>Fo</div>r</paragraph>' );
+			} );
 		} );
 
 		describe( 'by merge', () => {