Ver código fonte

Editing controller manual test.

Piotr Jasiun 9 anos atrás
pai
commit
263b7b11b2

+ 1 - 0
packages/ckeditor5-engine/tests/manual/editingcontroller.html

@@ -0,0 +1 @@
+<div contenteditable="true" id="editor"></div>

+ 54 - 0
packages/ckeditor5-engine/tests/manual/editingcontroller.js

@@ -0,0 +1,54 @@
+/**
+ * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+'use strict';
+
+import EditingController from '/ckeditor5/engine/editingcontroller.js';
+import Document from '/ckeditor5/engine/model/document.js';
+import ModelPosition from '/ckeditor5/engine/model/position.js';
+import ModelRange from '/ckeditor5/engine/model/range.js';
+import ModelDocumentFragment from '/ckeditor5/engine/model/documentfragment.js';
+
+import { parse } from '/tests/engine/_utils/model.js';
+
+import BuildModelConverterFor from '/ckeditor5/engine/conversion/model-converter-builder.js';
+
+const model = new Document();
+window.model = model;
+model.createRoot();
+
+const editing = new EditingController( model );
+editing.createRoot( document.getElementById( 'editor' ) );
+
+model.schema.registerItem( 'paragraph', '$block' );
+BuildModelConverterFor( editing.modelToView ).fromElement( 'paragraph' ).toElement( 'p' );
+
+const modelData = new ModelDocumentFragment( parse(
+	'<paragraph>foo</paragraph>' +
+	'<paragraph></paragraph>' +
+	'<paragraph>bar</paragraph>'
+)._children );
+
+model.batch().insert( ModelPosition.createAt( model.getRoot(), 0 ), modelData );
+
+editing.view.render();
+
+// enter
+editing.view.on( 'keydown', ( evt, data ) => {
+	if ( data.keyCode == 13 ) {
+		model.enqueueChanges( () => {
+			model.batch().split( model.selection.getFirstPosition() );
+		} );
+	}
+} );
+
+// delete
+editing.view.on( 'keydown', ( evt, data ) => {
+	if ( data.keyCode == 46 ) {
+		model.enqueueChanges( () => {
+			model.batch().remove( ModelRange.createFromPositionAndShift( model.selection.getFirstPosition(), 1 ) );
+		} );
+	}
+} );

+ 3 - 0
packages/ckeditor5-engine/tests/manual/editingcontroller.md

@@ -0,0 +1,3 @@
+@bender-ui: collapsed
+
+TODO