8
0
فهرست منبع

Update manual tests.

Piotr Jasiun 9 سال پیش
والد
کامیت
9467e37a7a

+ 0 - 0
packages/ckeditor5-engine/tests/treeview/manual/mutationobserver.html → packages/ckeditor5-engine/tests/treeview/manual/__template__.html


+ 36 - 0
packages/ckeditor5-engine/tests/treeview/manual/immutable.js

@@ -0,0 +1,36 @@
+/**
+ * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+'use strict';
+
+import TreeView from '/ckeditor5/engine/treeview/treeview.js';
+import ContainerElement from '/ckeditor5/engine/treeview/containerelement.js';
+import AttributeElement from '/ckeditor5/engine/treeview/attributeelement.js';
+import Text from '/ckeditor5/engine/treeview/text.js';
+import Range from '/ckeditor5/engine/treeview/range.js';
+import MutationObserver from '/ckeditor5/engine/treeview/observer/mutationobserver.js';
+import SelectionObserver from '/ckeditor5/engine/treeview/observer/selectionobserver.js';
+
+const treeView = new TreeView();
+treeView.createRoot( document.getElementById( 'editor' ), 'editor' );
+
+treeView.addObserver( MutationObserver );
+treeView.addObserver( SelectionObserver );
+
+const p = new ContainerElement( 'p', null, [
+		new AttributeElement( 'strong', null, [ new Text( 'foo' ) ] ),
+		new AttributeElement( 'strong', null, [ new Text( 'bar' ) ] )
+	] );
+
+treeView.viewRoots.get( 'editor' ).appendChildren( [
+	p,
+	new ContainerElement( 'p' ),
+	new ContainerElement( 'p', null, [ new AttributeElement( 'strong' ) ] ),
+	new ContainerElement( 'p', null, [ new Text( 'bar' ) ] )
+] );
+
+treeView.selection.setRanges( [ Range.createFromParentsAndOffsets( p, 1, p, 1 ) ] );
+
+treeView.render();

+ 4 - 0
packages/ckeditor5-engine/tests/treeview/manual/immutable.md

@@ -0,0 +1,4 @@
+@bender-ui: collapsed
+@bender-tags: treeview
+
+It should not be possible to move selection nor modify document.

+ 0 - 4
packages/ckeditor5-engine/tests/treeview/manual/init.html

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

+ 0 - 24
packages/ckeditor5-engine/tests/treeview/manual/init.js

@@ -1,24 +0,0 @@
-/**
- * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md.
- */
-
-/* global console:false */
-
-'use strict';
-
-import TreeView from '/ckeditor5/engine/treeview/treeview.js';
-import Element from '/ckeditor5/engine/treeview/element.js';
-import Text from '/ckeditor5/engine/treeview/text.js';
-
-const treeView = new TreeView();
-treeView.createRoot( document.getElementById( 'editor' ), 'editor' );
-
-treeView.viewRoots.get( 'editor' ).appendChildren( [
-	new Element( 'p', [], [ new Text( 'New' ) ] ),
-	new Element( 'p', [], [ new Text( 'Content' ) ] )
-] );
-
-treeView.render();
-
-console.log( treeView );

+ 0 - 13
packages/ckeditor5-engine/tests/treeview/manual/init.md

@@ -1,13 +0,0 @@
-@bender-ui: collapsed
-@bender-tags: treeview
-
-## Init ##
-
-TreeView should be initialised and displayed in console.
-
-The content shoud be:
-
-```
-New
-Content
-```

+ 38 - 0
packages/ckeditor5-engine/tests/treeview/manual/inline-filler.js

@@ -0,0 +1,38 @@
+/**
+ * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+'use strict';
+
+import TreeView from '/ckeditor5/engine/treeview/treeview.js';
+import ContainerElement from '/ckeditor5/engine/treeview/containerelement.js';
+import AttributeElement from '/ckeditor5/engine/treeview/attributeelement.js';
+import Text from '/ckeditor5/engine/treeview/text.js';
+import Range from '/ckeditor5/engine/treeview/range.js';
+import SelectionObserver from '/ckeditor5/engine/treeview/observer/selectionobserver.js';
+import MutationObserver from '/ckeditor5/engine/treeview/observer/mutationobserver.js';
+import KeyObserver from '/ckeditor5/engine/treeview/observer/keyobserver.js';
+
+const treeView = new TreeView();
+treeView.createRoot( document.getElementById( 'editor' ), 'editor' );
+
+treeView.addObserver( MutationObserver );
+treeView.addObserver( SelectionObserver );
+treeView.addObserver( KeyObserver );
+
+const p = new ContainerElement( 'p', null, [
+		new AttributeElement( 'strong', null, [ new Text( 'foo' ) ] ),
+		new AttributeElement( 'strong', null, [ new Text( 'bar' ) ] )
+	] );
+
+treeView.viewRoots.get( 'editor' ).appendChildren( p );
+
+treeView.selection.setRanges( [ Range.createFromParentsAndOffsets( p, 1, p, 1 ) ] );
+
+treeView.on( 'selectionchange', ( evt, data ) => {
+	treeView.selection.setTo( data.newSelection );
+} );
+
+treeView.render();
+

+ 8 - 0
packages/ckeditor5-engine/tests/treeview/manual/inline-filler.md

@@ -0,0 +1,8 @@
+@bender-ui: collapsed
+@bender-tags: treeview
+
+ * initialization expected: `foo{}bar`
+ * press arrow left,
+ * expected: `fo{}obar`
+ * press 2 times arrow right,
+ * expected: `foob{}ar`

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

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

+ 0 - 35
packages/ckeditor5-engine/tests/treeview/manual/typing.js

@@ -1,35 +0,0 @@
-/**
- * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md.
- */
-
-/* global console:false */
-
-'use strict';
-
-import TreeView from '/ckeditor5/engine/treeview/treeview.js';
-import Element from '/ckeditor5/engine/treeview/element.js';
-import Text from '/ckeditor5/engine/treeview/text.js';
-import MutationObserver from '/ckeditor5/engine/treeview/observer/mutationobserver.js';
-
-const treeView = new TreeView();
-treeView.createRoot( document.getElementById( 'editor' ), 'editor' );
-
-treeView.on( 'mutations', ( evt, mutations ) => console.log( mutations ) );
-treeView.on( 'mutations', handleTyping );
-
-treeView.addObserver( MutationObserver );
-
-treeView.viewRoots.get( 'editor' ).appendChildren( [ new Element( 'p', [], [ new Text( 'foo' ) ] ) ] );
-
-treeView.render();
-
-function handleTyping( evt, mutations ) {
-	const mutation = mutations[ 0 ];
-
-	if ( mutations.length > 1 || mutation.type !== 'text' ) {
-		return;
-	}
-
-	mutation.node.data = mutation.newText;
-}

+ 0 - 8
packages/ckeditor5-engine/tests/treeview/manual/typing.md

@@ -1,8 +0,0 @@
-@bender-ui: collapsed
-@bender-tags: treeview
-
-## Typing ##
-
-* It should be possible to type (change the content of the text node).
-* All other operations should be permitted, it should not be possible to remove whole node.
-* Composition should work fine, not be broken.

+ 38 - 0
packages/ckeditor5-engine/tests/treeview/manual/x-index.js

@@ -0,0 +1,38 @@
+/**
+ * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+'use strict';
+
+import TreeView from '/ckeditor5/engine/treeview/treeview.js';
+import ContainerElement from '/ckeditor5/engine/treeview/containerelement.js';
+import AttributeElement from '/ckeditor5/engine/treeview/attributeelement.js';
+import Text from '/ckeditor5/engine/treeview/text.js';
+import Range from '/ckeditor5/engine/treeview/range.js';
+import SelectionObserver from '/ckeditor5/engine/treeview/observer/selectionobserver.js';
+import MutationObserver from '/ckeditor5/engine/treeview/observer/mutationobserver.js';
+
+const treeView = new TreeView();
+treeView.createRoot( document.getElementById( 'editor' ), 'editor' );
+
+treeView.addObserver( MutationObserver );
+treeView.addObserver( SelectionObserver );
+
+const foo = new Text( 'foo' );
+
+treeView.viewRoots.get( 'editor' ).appendChildren( [
+	new ContainerElement( 'p', null, [ foo ] ),
+	new ContainerElement( 'p' ),
+	new ContainerElement( 'p', null, [ new AttributeElement( 'strong' ) ] ),
+	new ContainerElement( 'p', null, [ new Text( 'bar' ) ] )
+] );
+
+treeView.selection.setRanges( [ Range.createFromParentsAndOffsets( foo, 2, foo, 2 ) ] );
+
+treeView.on( 'selectionchange', ( evt, data ) => {
+	treeView.selection.setTo( data.newSelection );
+} );
+
+treeView.render();
+

+ 6 - 0
packages/ckeditor5-engine/tests/treeview/manual/x-index.md

@@ -0,0 +1,6 @@
+@bender-ui: collapsed
+@bender-tags: treeview
+
+ * initialization expected: `fo{}o`
+ * press down arrow 3 times
+ * caret should be at: `ba{}r`