|
|
@@ -3,7 +3,7 @@
|
|
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
|
*/
|
|
|
|
|
|
-/* globals document, Event */
|
|
|
+/* globals document */
|
|
|
|
|
|
import BalloonEditorUI from '../src/ballooneditorui';
|
|
|
import BalloonEditorUIView from '../src/ballooneditoruiview';
|
|
|
@@ -75,37 +75,6 @@ describe( 'BalloonEditor', () => {
|
|
|
expect( editor.model.document.getRoot( 'main' ) ).to.instanceof( RootElement );
|
|
|
} );
|
|
|
|
|
|
- it( 'handles form element', () => {
|
|
|
- const form = document.createElement( 'form' );
|
|
|
- const textarea = document.createElement( 'textarea' );
|
|
|
- form.appendChild( textarea );
|
|
|
- document.body.appendChild( form );
|
|
|
-
|
|
|
- // Prevents page realods in Firefox ;|
|
|
|
- form.addEventListener( 'submit', evt => {
|
|
|
- evt.preventDefault();
|
|
|
- } );
|
|
|
-
|
|
|
- return BalloonEditor.create( textarea, {
|
|
|
- plugins: [ Paragraph ]
|
|
|
- } ).then( editor => {
|
|
|
- expect( textarea.value ).to.equal( '' );
|
|
|
-
|
|
|
- editor.setData( '<p>Foo</p>' );
|
|
|
-
|
|
|
- form.dispatchEvent( new Event( 'submit', {
|
|
|
- // We need to be able to do preventDefault() to prevent page reloads in Firefox.
|
|
|
- cancelable: true
|
|
|
- } ) );
|
|
|
-
|
|
|
- expect( textarea.value ).to.equal( '<p>Foo</p>' );
|
|
|
-
|
|
|
- return editor.destroy().then( () => {
|
|
|
- form.remove();
|
|
|
- } );
|
|
|
- } );
|
|
|
- } );
|
|
|
-
|
|
|
it( 'should have undefined the #sourceElement if editor was initialized with data', () => {
|
|
|
return BalloonEditor
|
|
|
.create( '<p>Foo.</p>', {
|
|
|
@@ -195,9 +164,19 @@ describe( 'BalloonEditor', () => {
|
|
|
BalloonEditor.create( '<p>Hello world!</p>', {
|
|
|
initialData: '<p>I am evil!</p>',
|
|
|
plugins: [ Paragraph ]
|
|
|
- } ).catch( () => {
|
|
|
- done();
|
|
|
- } );
|
|
|
+ } )
|
|
|
+ .then(
|
|
|
+ () => {
|
|
|
+ expect.fail( 'Balloon editor should throw an error when both initial data are passed' );
|
|
|
+ },
|
|
|
+ err => {
|
|
|
+ expect( err ).to.be.an( 'error' ).with.property( 'message' ).and
|
|
|
+ // eslint-disable-next-line max-len
|
|
|
+ .match( /^editor-create-initial-data: The config\.initialData option cannot be used together with initial data passed in Editor\.create\(\)\./ );
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then( done )
|
|
|
+ .catch( done );
|
|
|
} );
|
|
|
|
|
|
// ckeditor/ckeditor5-editor-classic#53
|
|
|
@@ -226,6 +205,21 @@ describe( 'BalloonEditor', () => {
|
|
|
return newEditor.destroy();
|
|
|
} );
|
|
|
} );
|
|
|
+
|
|
|
+ it( 'throws an error when is initialized in textarea', done => {
|
|
|
+ BalloonEditor.create( document.createElement( 'textarea' ) )
|
|
|
+ .then(
|
|
|
+ () => {
|
|
|
+ expect.fail( 'Balloon editor should throw an error when is initialized in textarea.' );
|
|
|
+ },
|
|
|
+ err => {
|
|
|
+ expect( err ).to.be.an( 'error' ).with.property( 'message' ).and
|
|
|
+ .match( /^editor-wrong-element: This type of editor cannot be initialized inside <textarea> element\./ );
|
|
|
+ }
|
|
|
+ )
|
|
|
+ .then( done )
|
|
|
+ .catch( done );
|
|
|
+ } );
|
|
|
} );
|
|
|
|
|
|
describe( 'create - events', () => {
|