Преглед изворни кода

Changed: engine.model.Range#_getTransformedByInsertion now always move range if it was collapsed and insertion was at that position.

Szymon Cofalik пре 9 година
родитељ
комит
681379ed3d

+ 2 - 2
packages/ckeditor5-engine/src/model/range.js

@@ -470,8 +470,8 @@ export default class Range {
 		} else {
 		} else {
 			const range = Range.createFromRange( this );
 			const range = Range.createFromRange( this );
 
 
-			let insertBeforeStart = range.isCollapsed ? isSticky : !isSticky;
-			let insertBeforeEnd = isSticky;
+			let insertBeforeStart = range.isCollapsed ? true : !isSticky;
+			let insertBeforeEnd = range.isCollapsed ? true : isSticky;
 
 
 			range.start = range.start._getTransformedByInsertion( insertPosition, howMany, insertBeforeStart );
 			range.start = range.start._getTransformedByInsertion( insertPosition, howMany, insertBeforeStart );
 			range.end = range.end._getTransformedByInsertion( insertPosition, howMany, insertBeforeEnd );
 			range.end = range.end._getTransformedByInsertion( insertPosition, howMany, insertBeforeEnd );

+ 0 - 8
packages/ckeditor5-engine/tests/model/range.js

@@ -487,14 +487,6 @@ describe( 'Range', () => {
 			expect( transformed[ 0 ].end.path ).to.deep.equal( [ 4, 4 ] );
 			expect( transformed[ 0 ].end.path ).to.deep.equal( [ 4, 4 ] );
 		} );
 		} );
 
 
-		it( 'should not change if the range is collapsed and isSticky is false', () => {
-			const range = new Range( new Position( root, [ 3, 2 ] ), new Position( root, [ 3, 2 ] ) );
-			const transformed = range._getTransformedByInsertion( new Position( root, [ 3, 2 ] ), 3, false, false );
-
-			expect( transformed[ 0 ].start.path ).to.deep.equal( [ 3, 2 ] );
-			expect( transformed[ 0 ].end.path ).to.deep.equal( [ 3, 2 ] );
-		} );
-
 		it( 'should move after inserted nodes if the range is collapsed and isSticky is true', () => {
 		it( 'should move after inserted nodes if the range is collapsed and isSticky is true', () => {
 			const range = new Range( new Position( root, [ 3, 2 ] ), new Position( root, [ 3, 2 ] ) );
 			const range = new Range( new Position( root, [ 3, 2 ] ), new Position( root, [ 3, 2 ] ) );
 			const transformed = range._getTransformedByInsertion( new Position( root, [ 3, 2 ] ), 3, false, true );
 			const transformed = range._getTransformedByInsertion( new Position( root, [ 3, 2 ] ), 3, false, true );