浏览代码

Add undo-undo-redo-redo test to text transformation integration tests.

Maciej Gołaszewski 6 年之前
父节点
当前提交
1ca28b7f4d
共有 1 个文件被更改,包括 27 次插入0 次删除
  1. 27 0
      packages/ckeditor5-typing/tests/texttransformation-integration.js

+ 27 - 0
packages/ckeditor5-typing/tests/texttransformation-integration.js

@@ -58,5 +58,32 @@ describe( 'Text transformation feature - integration', () => {
 
 			expect( editor.getData() ).to.equal( '<p>foo™</p>' );
 		} );
+
+		it( 'should allow to undo-redo steps', () => {
+			editor.setData( '<p></p>' );
+
+			model.change( writer => {
+				writer.setSelection( doc.getRoot().getChild( 0 ), 'end' );
+				writer.insertText( 'foo bar baz(tm', doc.selection.getFirstPosition() );
+			} );
+
+			model.change( writer => {
+				writer.setSelection( doc.getRoot().getChild( 0 ), 'end' );
+				writer.insertText( ')', doc.selection.getFirstPosition() );
+			} );
+			expect( editor.getData() ).to.equal( '<p>foo bar baz™</p>' );
+
+			editor.execute( 'undo' );
+			expect( editor.getData() ).to.equal( '<p>foo bar baz(tm)</p>' );
+
+			editor.execute( 'undo' );
+			expect( editor.getData() ).to.equal( '<p>foo bar baz(tm</p>' );
+
+			editor.execute( 'redo' );
+			expect( editor.getData() ).to.equal( '<p>foo bar baz(tm)</p>' );
+
+			editor.execute( 'redo' );
+			expect( editor.getData() ).to.equal( '<p>foo bar baz™</p>' );
+		} );
 	} );
 } );