Explorar o código

Added an integration test for the issue.

Kamil Piechaczek %!s(int64=7) %!d(string=hai) anos
pai
achega
2e8e93d759

+ 1 - 0
packages/ckeditor5-table/package.json

@@ -22,6 +22,7 @@
     "@ckeditor/ckeditor5-image": "^10.2.0",
     "@ckeditor/ckeditor5-image": "^10.2.0",
     "@ckeditor/ckeditor5-list": "^11.0.1",
     "@ckeditor/ckeditor5-list": "^11.0.1",
     "@ckeditor/ckeditor5-paragraph": "^10.0.2",
     "@ckeditor/ckeditor5-paragraph": "^10.0.2",
+    "@ckeditor/ckeditor5-typing": "^11.0.0",
     "@ckeditor/ckeditor5-undo": "^10.0.2",
     "@ckeditor/ckeditor5-undo": "^10.0.2",
     "@ckeditor/ckeditor5-utils": "^10.2.0",
     "@ckeditor/ckeditor5-utils": "^10.2.0",
     "eslint": "^5.5.0",
     "eslint": "^5.5.0",

+ 2 - 1
packages/ckeditor5-table/tests/manual/table.js

@@ -9,10 +9,11 @@ import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'
 import ArticlePluginSet from '@ckeditor/ckeditor5-core/tests/_utils/articlepluginset';
 import ArticlePluginSet from '@ckeditor/ckeditor5-core/tests/_utils/articlepluginset';
 import Table from '../../src/table';
 import Table from '../../src/table';
 import TableToolbar from '../../src/tabletoolbar';
 import TableToolbar from '../../src/tabletoolbar';
+import BlockQuote from '@ckeditor/ckeditor5-block-quote/src/blockquote';
 
 
 ClassicEditor
 ClassicEditor
 	.create( document.querySelector( '#editor' ), {
 	.create( document.querySelector( '#editor' ), {
-		plugins: [ ArticlePluginSet, Table, TableToolbar ],
+		plugins: [ ArticlePluginSet, Table, TableToolbar, BlockQuote ],
 		toolbar: [
 		toolbar: [
 			'heading', '|', 'insertTable', '|', 'bold', 'italic', 'bulletedList', 'numberedList', 'blockQuote', 'undo', 'redo'
 			'heading', '|', 'insertTable', '|', 'bold', 'italic', 'bulletedList', 'numberedList', 'blockQuote', 'undo', 'redo'
 		],
 		],

+ 14 - 1
packages/ckeditor5-table/tests/table-integration.js

@@ -10,6 +10,7 @@ import Clipboard from '@ckeditor/ckeditor5-clipboard/src/clipboard';
 import UndoEditing from '@ckeditor/ckeditor5-undo/src/undoediting';
 import UndoEditing from '@ckeditor/ckeditor5-undo/src/undoediting';
 import ListEditing from '@ckeditor/ckeditor5-list/src/listediting';
 import ListEditing from '@ckeditor/ckeditor5-list/src/listediting';
 import BlockQuoteEditing from '@ckeditor/ckeditor5-block-quote/src/blockquoteediting';
 import BlockQuoteEditing from '@ckeditor/ckeditor5-block-quote/src/blockquoteediting';
+import Typing from '@ckeditor/ckeditor5-typing/src/typing';
 import VirtualTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/virtualtesteditor';
 import VirtualTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/virtualtesteditor';
 import {
 import {
 	getData as getModelData,
 	getData as getModelData,
@@ -26,7 +27,7 @@ describe( 'Table feature – integration', () => {
 
 
 		beforeEach( () => {
 		beforeEach( () => {
 			return VirtualTestEditor
 			return VirtualTestEditor
-				.create( { plugins: [ Paragraph, TableEditing, ListEditing, BlockQuoteEditing, Widget, Clipboard ] } )
+				.create( { plugins: [ Paragraph, TableEditing, ListEditing, BlockQuoteEditing, Widget, Clipboard, Typing ] } )
 				.then( newEditor => {
 				.then( newEditor => {
 					editor = newEditor;
 					editor = newEditor;
 					clipboard = editor.plugins.get( 'Clipboard' );
 					clipboard = editor.plugins.get( 'Clipboard' );
@@ -78,6 +79,18 @@ describe( 'Table feature – integration', () => {
 				[ '<blockQuote><paragraph>bar[]</paragraph></blockQuote>' ]
 				[ '<blockQuote><paragraph>bar[]</paragraph></blockQuote>' ]
 			] ) );
 			] ) );
 		} );
 		} );
+
+		it.only( 'merges elements without throwing errors', () => {
+			setModelData( editor.model, modelTable( [
+				[ '<blockQuote><paragraph>Foo</paragraph></blockQuote><paragraph>[]Bar</paragraph>' ]
+			] ) );
+
+			editor.execute( 'delete' );
+
+			expect( formatTable( getModelData( editor.model ) ) ).to.equal( formattedModelTable( [
+				[ '<blockQuote><paragraph>Foo[]Bar</paragraph></blockQuote>' ]
+			] ) );
+		} );
 	} );
 	} );
 
 
 	describe( 'with undo', () => {
 	describe( 'with undo', () => {