From cc416bc7f0a9488b8e2d25601eeea85be0fdb004 Mon Sep 17 00:00:00 2001 From: Kamil Piechaczek Date: Tue, 21 Mar 2017 09:30:40 +0100 Subject: [PATCH] Fix: Allows inheriting from ClassicEditor. --- src/classic.js | 2 +- tests/classic.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/classic.js b/src/classic.js index 77850c6..640119e 100644 --- a/src/classic.js +++ b/src/classic.js @@ -81,7 +81,7 @@ export default class ClassicEditor extends StandardEditor { */ static create( element, config ) { return new Promise( ( resolve ) => { - const editor = new ClassicEditor( element, config ); + const editor = new this( element, config ); resolve( editor.initPlugins() diff --git a/tests/classic.js b/tests/classic.js index c1cd18a..2c71438 100644 --- a/tests/classic.js +++ b/tests/classic.js @@ -87,6 +87,22 @@ describe( 'ClassicEditor', () => { it( 'loads data from the editor element', () => { expect( editor.getData() ).to.equal( '

foo bar

' ); } ); + + it( 'creates an instance of a ClassicEditor child class', () => { + class CustomClassicEditor extends ClassicEditor {} + + return CustomClassicEditor.create( editorElement, { + plugins: [ Paragraph, Bold ] + } ) + .then( newEditor => { + editor = newEditor; + + expect( newEditor ).to.be.instanceof( CustomClassicEditor ); + expect( newEditor ).to.be.instanceof( ClassicEditor ); + + expect( newEditor.getData() ).to.equal( '

foo bar

' ); + } ); + } ); } ); describe( 'create - events', () => {