/** * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ /* global document */ import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph'; import LinkEditing from '@ckeditor/ckeditor5-link/src/linkediting'; import Delete from '@ckeditor/ckeditor5-typing/src/delete'; import BoldEditing from '@ckeditor/ckeditor5-basic-styles/src/bold/boldediting'; import ShiftEnter from '../src/shiftenter'; import { getData as getModelData, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model'; import { getData as getViewData } from '@ckeditor/ckeditor5-engine/src/dev-utils/view'; describe( 'ShiftEnter integration', () => { let editor, model, div; const options = { withoutSelection: true }; beforeEach( () => { div = document.createElement( 'div' ); div.innerHTML = '

First line.
Second line.

'; document.body.appendChild( div ); return ClassicEditor.create( div, { plugins: [ Paragraph, ShiftEnter, LinkEditing, Delete, BoldEditing ] } ) .then( newEditor => { editor = newEditor; model = editor.model; } ); } ); afterEach( () => { div.remove(); return editor.destroy(); } ); it( 'loads correct data', () => { expect( getModelData( model, options ) ).to.equal( 'First line.Second line.' ); expect( getViewData( editor.editing.view, options ) ).to.equal( '

First line.

Second line.

' ); } ); it( 'BLOCK_FILLER should be inserted after
in the paragraph', () => { setModelData( model, '[]' ); editor.execute( 'shiftEnter' ); expect( editor.getData( { trim: 'none' } ) ).to.equal( '


 

' ); expect( editor.ui.view.editable.element.innerHTML ).to.equal( '



' ); } ); it( 'should not inherit text attributes before the "softBreak" element', () => { setModelData( model, '' + '<$text linkHref="foo" bold="true">Bolded link' + '' + 'F[]' + '' ); editor.execute( 'delete' ); const selection = model.document.selection; expect( selection.hasAttribute( 'linkHref' ) ).to.equal( false ); expect( selection.hasAttribute( 'bold' ) ).to.equal( false ); } ); } );