/** * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md. */ /* bender-tags: model, composer */ 'use strict'; import Document from '/ckeditor5/engine/model/document.js'; import Composer from '/ckeditor5/engine/model/composer/composer.js'; import { setData, getData } from '/tests/engine/_utils/model.js'; describe( 'Composer', () => { let document, composer; beforeEach( () => { document = new Document(); document.schema.registerItem( 'p', '$block' ); document.createRoot(); composer = new Composer(); } ); describe( 'constructor', () => { it( 'attaches deleteContents default listener', () => { setData( document, '
f
bar
' ); const batch = document.batch(); composer.fire( 'deleteContents', { batch, selection: document.selection } ); expect( getData( document ) ).to.equal( 'f
r
' ); expect( batch.deltas ).to.not.be.empty; } ); it( 'attaches deleteContents default listener which passes options', () => { setData( document, 'f
bar
' ); const batch = document.batch(); composer.fire( 'deleteContents', { batch, selection: document.selection, options: { merge: true } } ); expect( getData( document ) ).to.equal( 'f
foo
fo