|
@@ -10,6 +10,7 @@ import ModelRange from '../../src/model/range';
|
|
|
import ModelPosition from '../../src/model/position';
|
|
import ModelPosition from '../../src/model/position';
|
|
|
import ModelSelection from '../../src/model/selection';
|
|
import ModelSelection from '../../src/model/selection';
|
|
|
import ModelDocumentFragment from '../../src/model/documentfragment';
|
|
import ModelDocumentFragment from '../../src/model/documentfragment';
|
|
|
|
|
+import Batch from '../../src/model/batch';
|
|
|
import { getData, setData, stringify } from '../../src/dev-utils/model';
|
|
import { getData, setData, stringify } from '../../src/dev-utils/model';
|
|
|
|
|
|
|
|
describe( 'Model', () => {
|
|
describe( 'Model', () => {
|
|
@@ -572,6 +573,75 @@ describe( 'Model', () => {
|
|
|
} );
|
|
} );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
|
|
+ describe( 'createPositionFromPath()', () => {
|
|
|
|
|
+ it( 'should return instance of Position', () => {
|
|
|
|
|
+ expect( model.createPositionFromPath( model.document.getRoot(), [ 0 ] ) ).to.be.instanceof( ModelPosition );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createPositionAt()', () => {
|
|
|
|
|
+ it( 'should return instance of Position', () => {
|
|
|
|
|
+ expect( model.createPositionAt( model.document.getRoot(), 0 ) ).to.be.instanceof( ModelPosition );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createPositionAfter()', () => {
|
|
|
|
|
+ it( 'should return instance of Position', () => {
|
|
|
|
|
+ schema.register( 'paragraph', { inheritAllFrom: '$block' } );
|
|
|
|
|
+ setData( model, '<paragraph>fo[]ar</paragraph>' );
|
|
|
|
|
+
|
|
|
|
|
+ expect( model.createPositionAfter( model.document.getRoot().getChild( 0 ) ) ).to.be.instanceof( ModelPosition );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createPositionBefore()', () => {
|
|
|
|
|
+ it( 'should return instance of Position', () => {
|
|
|
|
|
+ schema.register( 'paragraph', { inheritAllFrom: '$block' } );
|
|
|
|
|
+ setData( model, '<paragraph>fo[]ar</paragraph>' );
|
|
|
|
|
+
|
|
|
|
|
+ expect( model.createPositionBefore( model.document.getRoot().getChild( 0 ) ) ).to.be.instanceof( ModelPosition );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createRange()', () => {
|
|
|
|
|
+ it( 'should return instance of Range', () => {
|
|
|
|
|
+ schema.register( 'paragraph', { inheritAllFrom: '$block' } );
|
|
|
|
|
+ setData( model, '<paragraph>fo[]ar</paragraph>' );
|
|
|
|
|
+
|
|
|
|
|
+ expect( model.createRange( model.createPositionAt( model.document.getRoot(), 0 ) ) ).to.be.instanceof( ModelRange );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createRangeIn()', () => {
|
|
|
|
|
+ it( 'should return instance of Range', () => {
|
|
|
|
|
+ schema.register( 'paragraph', { inheritAllFrom: '$block' } );
|
|
|
|
|
+ setData( model, '<paragraph>fo[]ar</paragraph>' );
|
|
|
|
|
+
|
|
|
|
|
+ expect( model.createRangeIn( model.document.getRoot().getChild( 0 ) ) ).to.be.instanceof( ModelRange );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createRangeOn()', () => {
|
|
|
|
|
+ it( 'should return instance of Range', () => {
|
|
|
|
|
+ schema.register( 'paragraph', { inheritAllFrom: '$block' } );
|
|
|
|
|
+ setData( model, '<paragraph>fo[]ar</paragraph>' );
|
|
|
|
|
+
|
|
|
|
|
+ expect( model.createRangeOn( model.document.getRoot().getChild( 0 ) ) ).to.be.instanceof( ModelRange );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createSelection()', () => {
|
|
|
|
|
+ it( 'should return instance of Selection', () => {
|
|
|
|
|
+ expect( model.createSelection() ).to.be.instanceof( ModelSelection );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ describe( 'createBatch()', () => {
|
|
|
|
|
+ it( 'should return instance of Batch', () => {
|
|
|
|
|
+ expect( model.createBatch() ).to.be.instanceof( Batch );
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
describe( 'destroy()', () => {
|
|
describe( 'destroy()', () => {
|
|
|
it( 'should destroy document', () => {
|
|
it( 'should destroy document', () => {
|
|
|
sinon.spy( model.document, 'destroy' );
|
|
sinon.spy( model.document, 'destroy' );
|