|
@@ -20,7 +20,7 @@ import ViewText from '../../src/view/text';
|
|
|
import log from '@ckeditor/ckeditor5-utils/src/log';
|
|
import log from '@ckeditor/ckeditor5-utils/src/log';
|
|
|
import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
|
|
import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
|
|
|
|
|
|
|
|
-import DowncastHelpers, { createViewElementFromHighlightDescriptor, insertElement, wrap } from '../../src/conversion/downcasthelpers';
|
|
|
|
|
|
|
+import DowncastHelpers, { createViewElementFromHighlightDescriptor, wrap } from '../../src/conversion/downcasthelpers';
|
|
|
|
|
|
|
|
import { stringify } from '../../src/dev-utils/view';
|
|
import { stringify } from '../../src/dev-utils/view';
|
|
|
|
|
|
|
@@ -252,6 +252,18 @@ describe( 'DowncastHelpers', () => {
|
|
|
|
|
|
|
|
expectResult( '<span style="color:#FF0000">foo</span><img class="smiley" src="smile.jpg"></img>' );
|
|
expectResult( '<span style="color:#FF0000">foo</span><img class="smiley" src="smile.jpg"></img>' );
|
|
|
} );
|
|
} );
|
|
|
|
|
+
|
|
|
|
|
+ it( 'should not convert if creator returned null', () => {
|
|
|
|
|
+ downcastHelpers.elementToElement( { model: 'div', view: () => null } );
|
|
|
|
|
+
|
|
|
|
|
+ const modelElement = new ModelElement( 'div' );
|
|
|
|
|
+
|
|
|
|
|
+ model.change( writer => {
|
|
|
|
|
+ writer.insert( modelElement, modelRootStart );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ expect( viewToString( viewRoot ) ).to.equal( '<div></div>' );
|
|
|
|
|
+ } );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
describe( 'attributeToAttribute()', () => {
|
|
describe( 'attributeToAttribute()', () => {
|
|
@@ -1343,15 +1355,8 @@ describe( 'downcast-converters', () => {
|
|
|
controller.view.document.getRoot()._name = 'div';
|
|
controller.view.document.getRoot()._name = 'div';
|
|
|
|
|
|
|
|
dispatcher = controller.downcastDispatcher;
|
|
dispatcher = controller.downcastDispatcher;
|
|
|
-
|
|
|
|
|
- dispatcher.on(
|
|
|
|
|
- 'insert:paragraph',
|
|
|
|
|
- insertElement(
|
|
|
|
|
- ( modelItem, viewWriter ) => viewWriter.createContainerElement( 'p' )
|
|
|
|
|
- )
|
|
|
|
|
- );
|
|
|
|
|
-
|
|
|
|
|
- // dispatcher.on( 'attribute:class', changeAttribute() );
|
|
|
|
|
|
|
+ const downcastHelpers = new DowncastHelpers( dispatcher );
|
|
|
|
|
+ downcastHelpers.elementToElement( { model: 'paragraph', view: 'p' } );
|
|
|
|
|
|
|
|
modelRootStart = model.createPositionAt( modelRoot, 0 );
|
|
modelRootStart = model.createPositionAt( modelRoot, 0 );
|
|
|
} );
|
|
} );
|
|
@@ -1419,30 +1424,6 @@ describe( 'downcast-converters', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- describe( 'insertElement', () => {
|
|
|
|
|
- it( 'should convert element insertion in model', () => {
|
|
|
|
|
- const modelElement = new ModelElement( 'paragraph', null, new ModelText( 'foobar' ) );
|
|
|
|
|
-
|
|
|
|
|
- model.change( writer => {
|
|
|
|
|
- writer.insert( modelElement, modelRootStart );
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
- expect( viewToString( viewRoot ) ).to.equal( '<div><p>foobar</p></div>' );
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
- it( 'should not convert if creator returned null', () => {
|
|
|
|
|
- dispatcher.on( 'insert:div', insertElement( () => null ) );
|
|
|
|
|
-
|
|
|
|
|
- const modelElement = new ModelElement( 'div' );
|
|
|
|
|
-
|
|
|
|
|
- model.change( writer => {
|
|
|
|
|
- writer.insert( modelElement, modelRootStart );
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
- expect( viewToString( viewRoot ) ).to.equal( '<div></div>' );
|
|
|
|
|
- } );
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
describe( 'wrap', () => {
|
|
describe( 'wrap', () => {
|
|
|
it( 'should convert insert/change/remove of attribute in model into wrapping element in a view', () => {
|
|
it( 'should convert insert/change/remove of attribute in model into wrapping element in a view', () => {
|
|
|
const modelElement = new ModelElement( 'paragraph', null, new ModelText( 'foobar', { bold: true } ) );
|
|
const modelElement = new ModelElement( 'paragraph', null, new ModelText( 'foobar', { bold: true } ) );
|
|
@@ -1693,9 +1674,8 @@ describe( 'downcast-converters', () => {
|
|
|
const modelP = new ModelElement( 'paragraph', null, new ModelText( 'foo' ) );
|
|
const modelP = new ModelElement( 'paragraph', null, new ModelText( 'foo' ) );
|
|
|
const modelWidget = new ModelElement( 'widget', null, modelP );
|
|
const modelWidget = new ModelElement( 'widget', null, modelP );
|
|
|
|
|
|
|
|
- dispatcher.on( 'insert:widget', insertElement(
|
|
|
|
|
- ( modelElement, viewWriter ) => viewWriter.createContainerElement( 'widget' ) )
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ const downcastHelpers = new DowncastHelpers( dispatcher );
|
|
|
|
|
+ downcastHelpers.elementToElement( { model: 'widget', view: 'widget' } );
|
|
|
|
|
|
|
|
model.change( writer => {
|
|
model.change( writer => {
|
|
|
writer.insert( modelWidget, modelRootStart );
|
|
writer.insert( modelWidget, modelRootStart );
|