8
0
Просмотр исходного кода

Fix: Handle isSticky flag properly when collapsed range is transformed by insertion.

Szymon Cofalik 8 лет назад
Родитель
Сommit
c871a693c8

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

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

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

@@ -572,11 +572,11 @@ describe( 'Range', () => {
 			expect( transformed[ 0 ].end.path ).to.deep.equal( [ 4, 4 ] );
 		} );
 
-		it( 'should move after inserted nodes if the range is collapsed and isSticky is true', () => {
+		it( 'should expand range 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 transformed = range._getTransformedByInsertion( new Position( root, [ 3, 2 ] ), 3, false, true );
 
-			expect( transformed[ 0 ].start.path ).to.deep.equal( [ 3, 5 ] );
+			expect( transformed[ 0 ].start.path ).to.deep.equal( [ 3, 2 ] );
 			expect( transformed[ 0 ].end.path ).to.deep.equal( [ 3, 5 ] );
 		} );
 	} );