Przeglądaj źródła

Fixed conversion tests.

Szymon Kupś 8 lat temu
rodzic
commit
d5bf859ae1

+ 3 - 2
packages/ckeditor5-engine/src/conversion/model-selection-to-view-converters.js

@@ -5,9 +5,11 @@
 
 import ViewElement from '../view/element';
 import ViewRange from '../view/range';
-import viewWriter from '../view/writer';
+import ViewWriter from '../view/writer';
 import { createViewElementFromHighlightDescriptor } from './model-to-view-converters';
 
+const viewWriter = new ViewWriter();
+
 /**
  * Contains {@link module:engine/model/selection~Selection model selection} to
  * {@link module:engine/view/selection~Selection view selection} converters for
@@ -207,7 +209,6 @@ function wrapCollapsedSelectionPosition( modelSelection, viewSelection, viewElem
 		viewPosition = viewPosition.getLastMatchingPosition( value => value.item.is( 'uiElement' ) );
 	}
 	// End of hack.
-
 	viewPosition = viewWriter.wrapPosition( viewPosition, viewElement );
 
 	viewSelection.removeAllRanges();

+ 3 - 1
packages/ckeditor5-engine/src/conversion/model-to-view-converters.js

@@ -9,7 +9,9 @@ import ViewElement from '../view/element';
 import ViewAttributeElement from '../view/attributeelement';
 import ViewText from '../view/text';
 import ViewRange from '../view/range';
-import viewWriter from '../view/writer';
+import WiewWriter from '../view/writer';
+
+const viewWriter = new WiewWriter();
 
 /**
  * Contains model to view converters for

+ 2 - 0
packages/ckeditor5-engine/src/view/view.js

@@ -35,6 +35,8 @@ export default class View {
 		// TODO: check import path
 		// TODO: check where render() is used and eventually switch to change() where possible
 		// TODO: observers docs fixes
+		// TODO: check where writer instance is created and it should be returned by change() method only (converters!)
+		// TODO: manual tests
 
 		/**
 		 * Instance of the {@link module:engine/view/domconverter~DomConverter domConverter} use by

+ 1 - 1
packages/ckeditor5-engine/tests/controller/datacontroller.js

@@ -44,7 +44,7 @@ describe( 'DataController', () => {
 	} );
 
 	describe( 'parse()', () => {
-		it( 'should set text', () => {
+		it.only( 'should set text', () => {
 			schema.extend( '$text', { allowIn: '$root' } );
 			const output = data.parse( '<p>foo<b>bar</b></p>' );
 

+ 4 - 3
packages/ckeditor5-engine/tests/conversion/advanced-converters.js

@@ -15,7 +15,7 @@ import ViewElement from '../../src/view/element';
 import ViewContainerElement from '../../src/view/containerelement';
 import ViewAttributeElement from '../../src/view/attributeelement';
 import ViewText from '../../src/view/text';
-import viewWriter from '../../src/view/writer';
+import ViewWriter from '../../src/view/writer';
 import ViewPosition from '../../src/view/position';
 import ViewRange from '../../src/view/range';
 
@@ -31,16 +31,17 @@ import {
 import { convertToModelFragment, convertText } from '../../src/conversion/view-to-model-converters';
 
 describe( 'advanced-converters', () => {
-	let model, modelDoc, modelRoot, viewRoot, modelDispatcher, viewDispatcher;
+	let model, modelDoc, modelRoot, viewWriter, viewRoot, modelDispatcher, viewDispatcher;
 
 	beforeEach( () => {
 		model = new Model();
 		modelDoc = model.document;
 		modelRoot = modelDoc.createRoot();
+		viewWriter = new ViewWriter();
 
 		const editing = new EditingController( model );
 
-		viewRoot = editing.view.getRoot();
+		viewRoot = editing.view.document.getRoot();
 
 		// Set name of view root the same as dom root.
 		// This is a mock of attaching view root to dom root.

+ 3 - 3
packages/ckeditor5-engine/tests/conversion/buildmodelconverter.js

@@ -66,12 +66,12 @@ describe( 'Model converter builder', () => {
 
 		// Set name of view root the same as dom root.
 		// This is a mock of attaching view root to dom root.
-		controller.view.getRoot()._name = 'div';
+		controller.view.document.getRoot()._name = 'div';
 
 		dispatcher = controller.modelToView;
 
-		viewRoot = controller.view.getRoot();
-		viewSelection = controller.view.selection;
+		viewRoot = controller.view.document.getRoot();
+		viewSelection = controller.view.document.selection;
 
 		buildModelConverter().for( dispatcher ).fromElement( 'paragraph' ).toElement( 'p' );
 	} );

+ 2 - 2
packages/ckeditor5-engine/tests/conversion/definition-based-converters.js

@@ -115,9 +115,9 @@ describe( 'definition-based-converters', () => {
 
 		// Set name of view root the same as dom root.
 		// This is a mock of attaching view root to dom root.
-		controller.view.getRoot()._name = 'div';
+		controller.view.document.getRoot()._name = 'div';
 
-		viewRoot = controller.view.getRoot();
+		viewRoot = controller.view.document.getRoot();
 		dispatcher = controller.modelToView;
 	}
 

+ 8 - 6
packages/ckeditor5-engine/tests/conversion/model-selection-to-view-converters.js

@@ -8,11 +8,11 @@ import ModelElement from '../../src/model/element';
 import ModelRange from '../../src/model/range';
 import ModelPosition from '../../src/model/position';
 
-import ViewDocument from '../../src/view/document';
+import View from '../../src/view/view';
 import ViewContainerElement from '../../src/view/containerelement';
 import ViewAttributeElement from '../../src/view/attributeelement';
 import ViewUIElement from '../../src/view/uielement';
-import { mergeAttributes } from '../../src/view/writer';
+import ViewWriter from '../../src/view/writer';
 
 import Mapper from '../../src/conversion/mapper';
 import ModelConversionDispatcher from '../../src/conversion/modelconversiondispatcher';
@@ -39,7 +39,7 @@ import { stringify as stringifyView } from '../../src/dev-utils/view';
 import { setData as setModelData } from '../../src/dev-utils/model';
 
 describe( 'model-selection-to-view-converters', () => {
-	let dispatcher, mapper, model, modelDoc, modelRoot, modelSelection, viewDoc, viewRoot, viewSelection, highlightDescriptor;
+	let dispatcher, mapper, model, view, modelDoc, modelRoot, modelSelection, viewDoc, viewRoot, viewSelection, highlightDescriptor;
 
 	beforeEach( () => {
 		model = new Model();
@@ -49,7 +49,8 @@ describe( 'model-selection-to-view-converters', () => {
 
 		model.schema.extend( '$text', { allowIn: '$root' } );
 
-		viewDoc = new ViewDocument();
+		view = new View();
+		viewDoc = view.document;
 		viewRoot = createViewRoot( viewDoc );
 		viewSelection = viewDoc.selection;
 
@@ -74,7 +75,7 @@ describe( 'model-selection-to-view-converters', () => {
 	} );
 
 	afterEach( () => {
-		viewDoc.destroy();
+		view.destroy();
 	} );
 
 	describe( 'default converters', () => {
@@ -501,7 +502,8 @@ describe( 'model-selection-to-view-converters', () => {
 				);
 
 				// Remove <b></b> manually.
-				mergeAttributes( viewSelection.getFirstPosition() );
+				const viewWriter = new ViewWriter();
+				viewWriter.mergeAttributes( viewSelection.getFirstPosition() );
 
 				const modelRange = ModelRange.createFromParentsAndOffsets( modelRoot, 1, modelRoot, 1 );
 				modelDoc.selection.setRanges( [ modelRange ] );

+ 2 - 2
packages/ckeditor5-engine/tests/conversion/model-to-view-converters.js

@@ -39,10 +39,10 @@ describe( 'model-to-view-converters', () => {
 
 		controller = new EditingController( model );
 
-		viewRoot = controller.view.getRoot();
+		viewRoot = controller.view.document.getRoot();
 		// Set name of view root the same as dom root.
 		// This is a mock of attaching view root to dom root.
-		controller.view.getRoot()._name = 'div';
+		controller.view.document.getRoot()._name = 'div';
 
 		dispatcher = controller.modelToView;
 

+ 7 - 6
packages/ckeditor5-engine/tests/conversion/view-selection-to-model-converters.js

@@ -3,7 +3,7 @@
  * For licensing, see LICENSE.md.
  */
 
-import ViewDocument from '../../src/view/document';
+import View from '../../src/view/view';
 import ViewSelection from '../../src/view/selection';
 import ViewRange from '../../src/view/range';
 import createViewRoot from '../view/_utils/createroot';
@@ -17,7 +17,7 @@ import { setData as modelSetData, getData as modelGetData } from '../../src/dev-
 import { setData as viewSetData } from '../../src/dev-utils/view';
 
 describe( 'convertSelectionChange', () => {
-	let model, view, mapper, convertSelection, modelRoot, viewRoot;
+	let model, view, viewDocument, mapper, convertSelection, modelRoot, viewRoot;
 
 	beforeEach( () => {
 		model = new Model();
@@ -26,10 +26,11 @@ describe( 'convertSelectionChange', () => {
 
 		modelSetData( model, '<paragraph>foo</paragraph><paragraph>bar</paragraph>' );
 
-		view = new ViewDocument();
-		viewRoot = createViewRoot( view, 'div', 'main' );
+		view = new View();
+		viewDocument = view.document;
+		viewRoot = createViewRoot( viewDocument, 'div', 'main' );
 
-		viewSetData( view, '<p>foo</p><p>bar</p>' );
+		viewSetData( viewDocument, '<p>foo</p><p>bar</p>' );
 
 		mapper = new Mapper();
 		mapper.bindElements( modelRoot, viewRoot );
@@ -56,7 +57,7 @@ describe( 'convertSelectionChange', () => {
 
 	it( 'should support unicode', () => {
 		modelSetData( model, '<paragraph>நிலைக்கு</paragraph>' );
-		viewSetData( view, '<p>நிலைக்கு</p>' );
+		viewSetData( viewDocument, '<p>நிலைக்கு</p>' );
 
 		// Re-bind elements that were just re-set.
 		mapper.bindElements( modelRoot.getChild( 0 ), viewRoot.getChild( 0 ) );