8
0
Просмотр исходного кода

More tests fixing. Added custom event name to consumable name mapping to wrapItem and unwrapItem methods.

Szymon Kupś 8 лет назад
Родитель
Сommit
85cd98c9c9

+ 7 - 5
packages/ckeditor5-engine/src/conversion/model-to-view-converters.js

@@ -256,7 +256,7 @@ export function removeAttribute( attributeCreator ) {
  * be used for wrapping.
  * be used for wrapping.
  * @returns {Function} Set/change attribute converter.
  * @returns {Function} Set/change attribute converter.
  */
  */
-export function wrapItem( elementCreator ) {
+export function wrapItem( elementCreator, nameToConsumable = eventNameToConsumableType ) {
 	return ( evt, data, consumable, conversionApi ) => {
 	return ( evt, data, consumable, conversionApi ) => {
 		const viewElement = ( elementCreator instanceof ViewElement ) ?
 		const viewElement = ( elementCreator instanceof ViewElement ) ?
 			elementCreator.clone( true ) :
 			elementCreator.clone( true ) :
@@ -266,7 +266,7 @@ export function wrapItem( elementCreator ) {
 			return;
 			return;
 		}
 		}
 
 
-		if ( !consumable.consume( data.item, eventNameToConsumableType( evt.name ) ) ) {
+		if ( !consumable.consume( data.item, nameToConsumable( evt.name ) ) ) {
 			return;
 			return;
 		}
 		}
 
 
@@ -306,7 +306,7 @@ export function wrapItem( elementCreator ) {
  * be used for unwrapping.
  * be used for unwrapping.
  * @returns {Function} Remove attribute converter.
  * @returns {Function} Remove attribute converter.
  */
  */
-export function unwrapItem( elementCreator ) {
+export function unwrapItem( elementCreator, nameToConsumable = eventNameToConsumableType ) {
 	return ( evt, data, consumable, conversionApi ) => {
 	return ( evt, data, consumable, conversionApi ) => {
 		const viewElement = ( elementCreator instanceof ViewElement ) ?
 		const viewElement = ( elementCreator instanceof ViewElement ) ?
 			elementCreator.clone( true ) :
 			elementCreator.clone( true ) :
@@ -316,7 +316,7 @@ export function unwrapItem( elementCreator ) {
 			return;
 			return;
 		}
 		}
 
 
-		if ( !consumable.consume( data.item, eventNameToConsumableType( evt.name ) ) ) {
+		if ( !consumable.consume( data.item, nameToConsumable( evt.name ) ) ) {
 			return;
 			return;
 		}
 		}
 
 
@@ -402,7 +402,9 @@ export function markerToVirtualSelection( selectionDescriptor ) {
 
 
 		if ( modelItem.is( 'textProxy' ) ) {
 		if ( modelItem.is( 'textProxy' ) ) {
 			const viewElement = virtualSelectionDescriptorToAttribute( descriptor );
 			const viewElement = virtualSelectionDescriptorToAttribute( descriptor );
-			const converter = addMarker ? wrapItem( viewElement ) : unwrapItem( viewElement );
+			const converter = addMarker ?
+				wrapItem( viewElement, eventName => eventName ) :
+				unwrapItem( viewElement, eventName => eventName );
 
 
 			converter( evt, data, consumable, conversionApi );
 			converter( evt, data, consumable, conversionApi );
 		}
 		}

+ 2 - 1
packages/ckeditor5-engine/tests/controller/editingcontroller.js

@@ -293,7 +293,7 @@ describe( 'EditingController', () => {
 			let element, outerRange;
 			let element, outerRange;
 
 
 			beforeEach( () => {
 			beforeEach( () => {
-				element = new ModelElement( new ModelText( 'foo' ) );
+				element = new ModelElement( 'paragraph', null, new ModelText( 'foo' ) );
 				modelRoot.appendChildren( element );
 				modelRoot.appendChildren( element );
 
 
 				outerRange = ModelRange.createOn( element );
 				outerRange = ModelRange.createOn( element );
@@ -308,6 +308,7 @@ describe( 'EditingController', () => {
 			it( 'marker strictly contained', () => {
 			it( 'marker strictly contained', () => {
 				const markerRange = ModelRange.createFromParentsAndOffsets( element, 1, element, 2 );
 				const markerRange = ModelRange.createFromParentsAndOffsets( element, 1, element, 2 );
 				model.markers.set( 'name', markerRange );
 				model.markers.set( 'name', markerRange );
+
 				editing.modelToView.convertInsertion( outerRange );
 				editing.modelToView.convertInsertion( outerRange );
 				expect( editing.modelToView.convertMarker.calledWithExactly( 'addMarker', 'name', markerRange ) ).to.be.true;
 				expect( editing.modelToView.convertMarker.calledWithExactly( 'addMarker', 'name', markerRange ) ).to.be.true;
 			} );
 			} );

+ 1 - 2
packages/ckeditor5-engine/tests/manual/markers.js

@@ -38,8 +38,7 @@ ClassicEditor.create( document.querySelector( '#editor' ), {
 
 
 			return {
 			return {
 				class: 'h-' + color,
 				class: 'h-' + color,
-				attributes: { 'data-id': 100 },
-				priority: 1000
+				priority: 1
 			};
 			};
 		} );
 		} );