Explorar o código

More test updated to use view writer.change() block.

Szymon Kupś %!s(int64=8) %!d(string=hai) anos
pai
achega
661dfcaaab

+ 20 - 20
packages/ckeditor5-engine/tests/view/view/jumpoverinlinefiller.js

@@ -5,7 +5,6 @@
 
 /* globals document */
 
-import ViewRange from '../../../src/view/range';
 import View from '../../../src/view/view';
 import { INLINE_FILLER_LENGTH, isInlineFiller, startsWithFiller } from '../../../src/view/filler';
 
@@ -105,27 +104,28 @@ describe( 'View', () => {
 		// } );
 
 		it( 'should do nothing if caret is not directly before the filler', () => {
-			setData( view, '<container:p>foo<attribute:b>[]</attribute:b>bar</container:p>' );
-			view.render();
-
-			// Insert a letter to the <b>: '<container:p>foo<attribute:b>x{}</attribute:b>bar</container:p>'
-			// Do this both in the view and in the DOM to simulate typing and to avoid rendering (which would remove the filler).
-			const viewB = viewDocument.selection.getFirstPosition().parent;
-			const viewTextX = parse( 'x' );
-			viewB.appendChildren( viewTextX );
-			viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( viewTextX, 1, viewTextX, 1 ) );
+			view.change( () => {
+				setData( view, '<container:p>foo<attribute:b>[]</attribute:b>bar</container:p>' );
+			} );
 
-			const domB = view.getDomRoot( 'main' ).querySelector( 'b' );
 			const domSelection = document.getSelection();
-			domB.childNodes[ 0 ].data += 'x';
-
-			const domRange = document.createRange();
-			domSelection.removeAllRanges();
-			domRange.setStart( domB.childNodes[ 0 ], INLINE_FILLER_LENGTH + 1 );
-			domRange.collapse( true );
-			domSelection.addRange( domRange );
-
-			view.render();
+			view.change( writer => {
+				// Insert a letter to the <b>: '<container:p>foo<attribute:b>x{}</attribute:b>bar</container:p>'
+				// Do this both in the view and in the DOM to simulate typing and to avoid rendering (which would remove the filler).
+				const viewB = writer.document.selection.getFirstPosition().parent;
+				const viewTextX = parse( 'x' );
+				viewB.appendChildren( viewTextX );
+				writer.setSelection( viewTextX, 1 );
+
+				const domB = view.getDomRoot( 'main' ).querySelector( 'b' );
+				domB.childNodes[ 0 ].data += 'x';
+
+				const domRange = document.createRange();
+				domSelection.removeAllRanges();
+				domRange.setStart( domB.childNodes[ 0 ], INLINE_FILLER_LENGTH + 1 );
+				domRange.collapse( true );
+				domSelection.addRange( domRange );
+			} );
 
 			viewDocument.fire( 'keydown', { keyCode: keyCodes.arrowleft, domTarget: view.domRoots.get( 'main' ) } );
 

+ 54 - 15
packages/ckeditor5-engine/tests/view/view/jumpoveruielement.js

@@ -90,7 +90,10 @@ describe( 'View', () => {
 				// <container:p>foo<ui:span>xxx</ui:span>{}bar</container:p>
 				const p = new ViewContainerElement( 'p', null, [ foo, ui, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( [ ViewRange.createFromParentsAndOffsets( bar, 0, bar, 0 ) ] );
+
+				view.change( writer => {
+					writer.setSelection( [ ViewRange.createFromParentsAndOffsets( bar, 0, bar, 0 ) ] );
+				} );
 
 				renderAndFireKeydownEvent( { keyCode: keyCodes.arrowleft } );
 
@@ -105,7 +108,10 @@ describe( 'View', () => {
 				// <container:p>foo[]<ui:span>xxx</ui:span>bar</container:p>
 				const p = new ViewContainerElement( 'p', null, [ foo, ui, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( [ ViewRange.createFromParentsAndOffsets( p, 1, p, 1 ) ] );
+
+				view.change( writer => {
+					writer.setSelection( [ ViewRange.createFromParentsAndOffsets( p, 1, p, 1 ) ] );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -122,7 +128,10 @@ describe( 'View', () => {
 				// <container:p>foo{}<ui:span>xxx</ui:span>bar</container:p>
 				const p = new ViewContainerElement( 'p', null, [ foo, ui, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( [ ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) ] );
+
+				view.change( writer => {
+					writer.setSelection( [ ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) ] );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -139,7 +148,10 @@ describe( 'View', () => {
 				// <container:p>foo{}<ui:span>xxx</ui:span><ui:span>yyy</ui:span>bar</container:p>'
 				const p = new ViewContainerElement( 'p', null, [ foo, ui, ui2, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( [ ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) ] );
+
+				view.change( writer => {
+					writer.setSelection( [ ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) ] );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -156,9 +168,12 @@ describe( 'View', () => {
 				// <container:p>foo{}<ui:span>xxx</ui:span><ui:span>yyy</ui:span></container:p><container:div></container:div>
 				const p = new ViewContainerElement( 'p', null, [ foo, ui, ui2 ] );
 				const div = new ViewContainerElement( 'div' );
-				viewRoot.appendChildren( p );
-				viewRoot.appendChildren( div );
-				viewDocument.selection._setTo( [ ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) ] );
+
+				view.change( writer => {
+					viewRoot.appendChildren( p );
+					viewRoot.appendChildren( div );
+					writer.setSelection( [ ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) ] );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -176,7 +191,10 @@ describe( 'View', () => {
 				const b = new ViewAttribtueElement( 'b', null, foo );
 				const p = new ViewContainerElement( 'p', null, [ b, ui, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -194,7 +212,10 @@ describe( 'View', () => {
 				const b = new ViewAttribtueElement( 'b', null, foo );
 				const p = new ViewContainerElement( 'p', null, [ b, ui, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( b, 1, b, 1 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( b, 1, b, 1 ) );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -222,7 +243,10 @@ describe( 'View', () => {
 				const p = new ViewContainerElement( 'p', null, [ i, ui, bar ] );
 
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -249,7 +273,10 @@ describe( 'View', () => {
 				const p = new ViewContainerElement( 'p', null, [ foo, b1, ui, ui2, b2, bar ] );
 
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+				} );
 
 				renderAndFireKeydownEvent();
 
@@ -277,7 +304,10 @@ describe( 'View', () => {
 				const p = new ViewContainerElement( 'p', null, [ foo, b1, ui, ui2, b2, bar ] );
 
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( foo, 3, foo, 3 ) );
+				} );
 
 				renderAndFireKeydownEvent( { shiftKey: true } );
 
@@ -353,7 +383,10 @@ describe( 'View', () => {
 				const p = new ViewContainerElement( 'p', null, [ foo, ui, bar ] );
 
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( foo, 2, foo, 3 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( foo, 2, foo, 3 ) );
+				} );
 
 				renderAndFireKeydownEvent( { shiftKey: true } );
 
@@ -378,7 +411,10 @@ describe( 'View', () => {
 				const i = new ViewAttribtueElement( 'i', null, b );
 				const p = new ViewContainerElement( 'p', null, [ i, ui, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( foo, 2, foo, 3 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( foo, 2, foo, 3 ) );
+				} );
 
 				renderAndFireKeydownEvent( { shiftKey: true } );
 
@@ -404,7 +440,10 @@ describe( 'View', () => {
 				const b2 = new ViewAttribtueElement( 'b' );
 				const p = new ViewContainerElement( 'p', null, [ foo, b1, ui, ui2, b2, bar ] );
 				viewRoot.appendChildren( p );
-				viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( foo, 2, foo, 3 ) );
+
+				view.change( writer => {
+					writer.setSelection( ViewRange.createFromParentsAndOffsets( foo, 2, foo, 3 ) );
+				} );
 
 				renderAndFireKeydownEvent( { shiftKey: true } );
 

+ 10 - 3
packages/ckeditor5-engine/tests/view/view/view.js

@@ -255,7 +255,9 @@ describe( 'view', () => {
 				left: '-1000px'
 			} );
 
-			viewDocument.selection._setTo( range );
+			view.change( writer => {
+				writer.setSelection( range );
+			} );
 
 			view.scrollToTheSelection();
 			sinon.assert.calledWithMatch( stub, sinon.match.number, sinon.match.number );
@@ -301,7 +303,10 @@ describe( 'view', () => {
 			document.body.appendChild( domEditable );
 			viewEditable = createViewRoot( viewDocument, 'div', 'main' );
 			view.attachDomRoot( domEditable );
-			viewDocument.selection._setTo( ViewRange.createFromParentsAndOffsets( viewEditable, 0, viewEditable, 0 ) );
+
+			view.change( writer => {
+				writer.setSelection( viewEditable, 0 );
+			} );
 		} );
 
 		afterEach( () => {
@@ -338,7 +343,9 @@ describe( 'view', () => {
 
 		it( 'should log warning when no selection', () => {
 			const logSpy = testUtils.sinon.stub( log, 'warn' );
-			viewDocument.selection._setTo( null );
+			view.change( writer => {
+				writer.setSelection( null );
+			} );
 
 			view.focus();
 			expect( logSpy.calledOnce ).to.be.true;