diff --git a/packages/ckeditor5-engine/src/conversion/upcasthelpers.ts b/packages/ckeditor5-engine/src/conversion/upcasthelpers.ts
index ff4eb8866f5..a1c0030fa18 100644
--- a/packages/ckeditor5-engine/src/conversion/upcasthelpers.ts
+++ b/packages/ckeditor5-engine/src/conversion/upcasthelpers.ts
@@ -536,16 +536,7 @@ export function convertText() {
return;
}
- // Wrap `$text` in paragraph and include any marker that is directly before `$text`. See #13053.
- const nodeBefore = position.nodeBefore;
-
position = wrapInParagraph( position, writer );
-
- if ( nodeBefore && nodeBefore.is( 'element', '$marker' ) ) {
- // Move `$marker` to the paragraph.
- writer.move( writer.createRangeOn( nodeBefore ), position );
- position = writer.createPositionAfter( nodeBefore );
- }
}
consumable.consume( data.viewItem );
diff --git a/packages/ckeditor5-engine/tests/conversion/upcasthelpers.js b/packages/ckeditor5-engine/tests/conversion/upcasthelpers.js
index a0a705b0fd2..ef308c64340 100644
--- a/packages/ckeditor5-engine/tests/conversion/upcasthelpers.js
+++ b/packages/ckeditor5-engine/tests/conversion/upcasthelpers.js
@@ -1258,31 +1258,6 @@ describe( 'upcast-converters', () => {
expect( conversionResult.getChild( 0 ).data ).to.equal( 'foobar' );
} );
- it( 'should also include $marker when auto-paragraphing $text.', () => {
- // Make $text invalid to trigger auto-paragraphing.
- schema.addChildCheck( ( ctx, childDef ) => {
- if ( ( childDef.name == '$text' ) && ctx.endsWith( '$root' ) ) {
- return false;
- }
- } );
-
- const viewText = new ViewText( viewDocument, 'foobar' );
- dispatcher.on( 'text', ( evt, data, conversionApi ) => {
- // Add $marker element before processing $text.
- const element = new ModelElement( '$marker', { 'data-name': 'marker1' } );
- conversionApi.writer.insert( element, data.modelCursor );
- data.modelCursor = conversionApi.writer.createPositionAfter( element );
-
- // Convert $text.
- convertText()( evt, data, conversionApi );
- } );
-
- const conversionResult = model.change( writer => dispatcher.convert( viewText, writer, context ) );
-
- // Check that marker is in paragraph.
- expect( conversionResult.markers.get( 'marker1' ).start.parent.name ).to.be.equal( 'paragraph' );
- } );
-
it( 'should auto-paragraph a text if it is not allowed at the insertion position but would be inserted if auto-paragraphed', () => {
schema.addChildCheck( ( ctx, childDef ) => {
if ( childDef.name == '$text' && ctx.endsWith( '$root' ) ) {
diff --git a/packages/ckeditor5-table/tests/table-integration.js b/packages/ckeditor5-table/tests/table-integration.js
index 2cfc2b59a3c..7dfe7bbbe37 100644
--- a/packages/ckeditor5-table/tests/table-integration.js
+++ b/packages/ckeditor5-table/tests/table-integration.js
@@ -486,8 +486,23 @@ describe( 'Table feature – integration with markers', () => {
editor.setData( data );
- checkMarker( range );
- expect( editor.getData() ).to.equal( data );
+ // We would expect such positions and data but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( range );
+ // expect( editor.getData() ).to.equal( data );
+
+ const currentRange = editor.model.createRange(
+ editor.model.createPositionFromPath( range.root, [ 0, 0, 0, 0 ] ),
+ editor.model.createPositionFromPath( range.root, [ 0, 0, 0, 0, 4 ] )
+ );
+
+ checkMarker( currentRange );
+ expect( editor.getData() ).to.equal(
+ ''
+ );
} );
} );
diff --git a/packages/ckeditor5-table/tests/tableclipboard-paste.js b/packages/ckeditor5-table/tests/tableclipboard-paste.js
index a15177ab45a..9f626cf268e 100644
--- a/packages/ckeditor5-table/tests/tableclipboard-paste.js
+++ b/packages/ckeditor5-table/tests/tableclipboard-paste.js
@@ -4105,9 +4105,18 @@ describe( 'table clipboard', () => {
[ [ wrapWithHTMLMarker( 'FooBarr', 'comment', { name: 'paste' } ) ] ]
);
- const paragraph = modelRoot.getNodeByPath( [ 1, 0, 0, 0 ] );
-
- checkMarker( 'comment:paste:uniq', model.createRangeIn( paragraph ) );
+ // We would expect such positions but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( 'comment:paste:uniq', {
+ // start: [ 1, 0, 0, 0, 0 ],
+ // end: [ 1, 0, 0, 0, 7 ]
+ // } );
+
+ checkMarker( 'comment:paste:uniq', {
+ start: [ 1, 0, 0, 0 ],
+ end: [ 1, 0, 0, 0, 7 ]
+ } );
} );
it( 'should paste table with multiple markers to multiple cells', () => {
@@ -4126,13 +4135,26 @@ describe( 'table clipboard', () => {
]
);
+ // We would expect such positions but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( 'comment:paste:uniq', {
+ // start: [ 1, 0, 0, 0, 0 ],
+ // end: [ 1, 0, 0, 0, 7 ]
+ // } );
+ //
+ // checkMarker( 'comment:post:uniq', {
+ // start: [ 1, 0, 1, 0, 0 ],
+ // end: [ 1, 0, 1, 0, 6 ]
+ // } );
+
checkMarker( 'comment:pre:uniq', {
- start: [ 1, 0, 0, 0, 0 ],
+ start: [ 1, 0, 0, 0 ],
end: [ 1, 0, 0, 0, 5 ]
} );
checkMarker( 'comment:post:uniq', {
- start: [ 1, 0, 1, 0, 0 ],
+ start: [ 1, 0, 1, 0 ],
end: [ 1, 0, 1, 0, 6 ]
} );
} );
@@ -4154,8 +4176,21 @@ describe( 'table clipboard', () => {
]
);
+ // We would expect such positions but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( 'comment:paste:uniq', {
+ // start: [ 1, 0, 0, 0, 0 ],
+ // end: [ 1, 0, 0, 0, 7 ]
+ // } );
+ //
+ // checkMarker( 'comment:post:uniq', {
+ // start: [ 1, 0, 1, 0, 18 ],
+ // end: [ 1, 0, 1, 0, 34 ]
+ // } );
+
checkMarker( 'comment:pre:uniq', {
- start: [ 1, 0, 0, 0, 0 ],
+ start: [ 1, 0, 0, 0 ],
end: [ 1, 0, 0, 0, 7 ]
} );
@@ -4179,8 +4214,21 @@ describe( 'table clipboard', () => {
[ [ outerMarker ] ]
);
+ // We would expect such positions but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( 'comment:paste:uniq', {
+ // start: [ 1, 0, 0, 0, 0 ],
+ // end: [ 1, 0, 0, 0, 11 ]
+ // } );
+ //
+ // checkMarker( 'comment:post:uniq', {
+ // start: [ 1, 0, 0, 0, 1 ],
+ // end: [ 1, 0, 0, 0, 5 ]
+ // } );
+
checkMarker( 'comment:outer:uniq', {
- start: [ 1, 0, 0, 0, 0 ],
+ start: [ 1, 0, 0, 0 ],
end: [ 1, 0, 0, 0, 11 ]
} );
@@ -4222,9 +4270,17 @@ describe( 'table clipboard', () => {
viewDocument.fire( 'paste', data );
+ // We would expect such data but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off data for now:
+ //
+ // expect( data.dataTransfer.getData( 'text/html' ) ).to.equal(
+ // ''
+ // );
+
expect( data.dataTransfer.getData( 'text/html' ) ).to.equal(
- ''
+ ''
);
} );
@@ -4310,24 +4366,46 @@ describe( 'table clipboard', () => {
viewDocument.fire( 'paste', data );
- // check if markers are present on proper positions
+ // We would expect such positions but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( 'comment:thread:0', {
+ // start: [ 0, 2, 0, 0, 0 ],
+ // end: [ 0, 2, 0, 0, 3 ]
+ // } );
+ //
+ // checkMarker( 'comment:thread:2', {
+ // start: [ 0, 2, 2, 0, 0 ],
+ // end: [ 0, 2, 2, 0, 3 ]
+ // } );
+ //
+ // checkMarker( 'comment:thread:3', {
+ // start: [ 0, 0, 2, 0, 0 ],
+ // end: [ 0, 0, 2, 0, 3 ]
+ // } );
+ //
+ // checkMarker( 'comment:thread:4', {
+ // start: [ 0, 1, 2, 0, 0 ],
+ // end: [ 0, 1, 2, 0, 3 ]
+ // } );
+
checkMarker( 'comment:thread:0', {
- start: [ 0, 2, 0, 0, 0 ],
+ start: [ 0, 2, 0, 0 ],
end: [ 0, 2, 0, 0, 3 ]
} );
checkMarker( 'comment:thread:2', {
- start: [ 0, 2, 2, 0, 0 ],
+ start: [ 0, 2, 2, 0 ],
end: [ 0, 2, 2, 0, 3 ]
} );
checkMarker( 'comment:thread:3', {
- start: [ 0, 0, 2, 0, 0 ],
+ start: [ 0, 0, 2, 0 ],
end: [ 0, 0, 2, 0, 3 ]
} );
checkMarker( 'comment:thread:4', {
- start: [ 0, 1, 2, 0, 0 ],
+ start: [ 0, 1, 2, 0 ],
end: [ 0, 1, 2, 0, 3 ]
} );
} );
@@ -4363,19 +4441,36 @@ describe( 'table clipboard', () => {
viewDocument.fire( 'paste', data );
- // check if markers are present on proper positions
+ // We would expect such positions but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( 'comment:thread:2', {
+ // start: [ 0, 2, 0, 0, 0 ],
+ // end: [ 0, 2, 0, 0, 3 ]
+ // } );
+ //
+ // checkMarker( 'comment:thread:3', {
+ // start: [ 0, 0, 0, 0, 0 ],
+ // end: [ 0, 0, 0, 0, 3 ]
+ // } );
+ //
+ // checkMarker( 'comment:thread:4', {
+ // start: [ 0, 1, 0, 0, 0 ],
+ // end: [ 0, 1, 0, 0, 3 ]
+ // } );
+
checkMarker( 'comment:thread:2', {
- start: [ 0, 2, 0, 0, 0 ],
+ start: [ 0, 2, 0, 0 ],
end: [ 0, 2, 0, 0, 3 ]
} );
checkMarker( 'comment:thread:3', {
- start: [ 0, 0, 0, 0, 0 ],
+ start: [ 0, 0, 0, 0 ],
end: [ 0, 0, 0, 0, 3 ]
} );
checkMarker( 'comment:thread:4', {
- start: [ 0, 1, 0, 0, 0 ],
+ start: [ 0, 1, 0, 0 ],
end: [ 0, 1, 0, 0, 3 ]
} );
} );
@@ -4413,19 +4508,36 @@ describe( 'table clipboard', () => {
viewDocument.fire( 'paste', data );
- // check if markers are present on proper positions
+ // We would expect such positions but due to a bug https://github.com/cksource/ckeditor5-commercial/issues/5287
+ // we are accepting slightly off positions for now:
+ //
+ // checkMarker( 'comment:start:6', {
+ // start: [ 0, 0, 0, 0, 0 ],
+ // end: [ 0, 0, 0, 0, 3 ]
+ // } );
+ //
+ // checkMarker( 'comment:start:4', {
+ // start: [ 0, 1, 0, 0, 0 ],
+ // end: [ 0, 1, 0, 0, 3 ]
+ // } );
+ //
+ // checkMarker( 'comment:end:1', {
+ // start: [ 0, 1, 1, 0, 0 ],
+ // end: [ 0, 1, 1, 0, 3 ]
+ // } );
+
checkMarker( 'comment:start:6', {
- start: [ 0, 0, 0, 0, 0 ],
+ start: [ 0, 0, 0, 0 ],
end: [ 0, 0, 0, 0, 3 ]
} );
checkMarker( 'comment:start:4', {
- start: [ 0, 1, 0, 0, 0 ],
+ start: [ 0, 1, 0, 0 ],
end: [ 0, 1, 0, 0, 3 ]
} );
checkMarker( 'comment:end:1', {
- start: [ 0, 1, 1, 0, 0 ],
+ start: [ 0, 1, 1, 0 ],
end: [ 0, 1, 1, 0, 3 ]
} );
} );