From 5489ab6fd73520d07b624df88ff840ab258a125a Mon Sep 17 00:00:00 2001 From: Aleksander Nowodzinski Date: Fri, 6 Jul 2018 13:09:14 +0200 Subject: [PATCH 1/6] Used the ckeditor5/namespace module in the base Editor class to check for possible build version collisions and broken builds. --- src/editor/editor.js | 4 +++- tests/manual/article.html | 3 +++ tests/manual/version-collision.html | 7 +++++++ tests/manual/version-collision.js | 24 ++++++++++++++++++++++++ tests/manual/version-collision.md | 3 +++ 5 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 tests/manual/version-collision.html create mode 100644 tests/manual/version-collision.js create mode 100644 tests/manual/version-collision.md diff --git a/src/editor/editor.js b/src/editor/editor.js index 71a22a32..46d41d46 100644 --- a/src/editor/editor.js +++ b/src/editor/editor.js @@ -20,6 +20,8 @@ import EditingKeystrokeHandler from '../editingkeystrokehandler'; import ObservableMixin from '@ckeditor/ckeditor5-utils/src/observablemixin'; import mix from '@ckeditor/ckeditor5-utils/src/mix'; +import 'ckeditor5/src/namespace'; + /** * Class representing a basic, generic editor. * @@ -109,7 +111,7 @@ export default class Editor { * * The editor is in one of the following states: * - * * `initializing` - during the editor initialization (before {@link module:core/editor/editor~Editor.create `Editor.create()`) + * * `initializing` - during the editor initialization (before {@link module:core/editor/editor~Editor.create `Editor.create()`}) * finished its job, * * `ready` - after the promise returned by the {@link module:core/editor/editor~Editor.create `Editor.create()`} * method is resolved, diff --git a/tests/manual/article.html b/tests/manual/article.html index 379df573..2cb95ada 100644 --- a/tests/manual/article.html +++ b/tests/manual/article.html @@ -1,3 +1,6 @@ +

Heading 1

Paragraph

diff --git a/tests/manual/version-collision.html b/tests/manual/version-collision.html new file mode 100644 index 00000000..b081eeb0 --- /dev/null +++ b/tests/manual/version-collision.html @@ -0,0 +1,7 @@ + + +
+

Foo

+
diff --git a/tests/manual/version-collision.js b/tests/manual/version-collision.js new file mode 100644 index 00000000..62d965a5 --- /dev/null +++ b/tests/manual/version-collision.js @@ -0,0 +1,24 @@ +/** + * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md. + */ + +/* globals console, window, document */ + +import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; +import ArticlePluginSet from '../_utils/articlepluginset'; + +ClassicEditor + .create( document.querySelector( '#editor' ), { + plugins: [ ArticlePluginSet ], + toolbar: [ 'heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', 'blockQuote', 'undo', 'redo' ], + image: { + toolbar: [ 'imageStyle:full', 'imageStyle:side', '|', 'imageTextAlternative' ] + } + } ) + .then( editor => { + window.editor = editor; + } ) + .catch( err => { + console.error( err.stack ); + } ); diff --git a/tests/manual/version-collision.md b/tests/manual/version-collision.md new file mode 100644 index 00000000..75948ce8 --- /dev/null +++ b/tests/manual/version-collision.md @@ -0,0 +1,3 @@ +# The editor version collision + +**Expected**: Running this manual test **must** result in the `ckeditor-version-collision` error thrown in the console. The error is a safeguard against duplicated/invalid editor builds. From 4e021ee25c7e6f2bf65ac4c2eb5735d0250df9ce Mon Sep 17 00:00:00 2001 From: Aleksander Nowodzinski Date: Fri, 6 Jul 2018 13:11:09 +0200 Subject: [PATCH 2/6] Added root of the project to the dependencies in the package.json. --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index adc1b996..ddd103ff 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "framework" ], "dependencies": { + "ckeditor5": "^10.1.0", "@ckeditor/ckeditor5-engine": "^10.1.0", "@ckeditor/ckeditor5-utils": "^10.1.0" }, From 13eccc395dd37a64870a191ee6c1ebc6301b0ffd Mon Sep 17 00:00:00 2001 From: Aleksander Nowodzinski Date: Fri, 6 Jul 2018 13:41:10 +0200 Subject: [PATCH 3/6] Renamed the 'namespace' module to 'version'. Added a test to verify the successful import. --- src/editor/editor.js | 2 +- tests/editor/editor.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/editor/editor.js b/src/editor/editor.js index 46d41d46..b30f6c73 100644 --- a/src/editor/editor.js +++ b/src/editor/editor.js @@ -20,7 +20,7 @@ import EditingKeystrokeHandler from '../editingkeystrokehandler'; import ObservableMixin from '@ckeditor/ckeditor5-utils/src/observablemixin'; import mix from '@ckeditor/ckeditor5-utils/src/mix'; -import 'ckeditor5/src/namespace'; +import 'ckeditor5/src/version'; /** * Class representing a basic, generic editor. diff --git a/tests/editor/editor.js b/tests/editor/editor.js index ddeb6847..491e5661 100644 --- a/tests/editor/editor.js +++ b/tests/editor/editor.js @@ -3,7 +3,7 @@ * For licensing, see LICENSE.md. */ -/* globals setTimeout */ +/* globals window, setTimeout */ import Editor from '../../src/editor/editor'; import Plugin from '../../src/plugin'; @@ -99,6 +99,10 @@ describe( 'Editor', () => { delete Editor.build; } ); + it( 'imports the version helper', () => { + expect( window.CKEDITOR_VERSION ).to.be.a( 'string' ); + } ); + describe( 'constructor()', () => { it( 'should create a new editor instance', () => { const editor = new Editor(); From b9ead09c71d08465df15ed70e2b9f769c4eb3304 Mon Sep 17 00:00:00 2001 From: Aleksander Nowodzinski Date: Fri, 6 Jul 2018 17:08:28 +0200 Subject: [PATCH 4/6] Moved version.js module to ckeditor5-utils. --- package.json | 1 - src/editor/editor.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index ddd103ff..adc1b996 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "framework" ], "dependencies": { - "ckeditor5": "^10.1.0", "@ckeditor/ckeditor5-engine": "^10.1.0", "@ckeditor/ckeditor5-utils": "^10.1.0" }, diff --git a/src/editor/editor.js b/src/editor/editor.js index b30f6c73..9cc7321e 100644 --- a/src/editor/editor.js +++ b/src/editor/editor.js @@ -20,7 +20,7 @@ import EditingKeystrokeHandler from '../editingkeystrokehandler'; import ObservableMixin from '@ckeditor/ckeditor5-utils/src/observablemixin'; import mix from '@ckeditor/ckeditor5-utils/src/mix'; -import 'ckeditor5/src/version'; +import '@ckeditor/ckeditor5-utils/src/version'; /** * Class representing a basic, generic editor. From 25eaa65e8221b261c496311896dfaa3ea4e34962 Mon Sep 17 00:00:00 2001 From: Aleksander Nowodzinski Date: Fri, 6 Jul 2018 17:22:12 +0200 Subject: [PATCH 5/6] Tests: Improved the description of the version-collision manual test. --- tests/manual/version-collision.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/manual/version-collision.md b/tests/manual/version-collision.md index 75948ce8..928e46a6 100644 --- a/tests/manual/version-collision.md +++ b/tests/manual/version-collision.md @@ -1,3 +1,3 @@ # The editor version collision -**Expected**: Running this manual test **must** result in the `ckeditor-version-collision` error thrown in the console. The error is a safeguard against duplicated/invalid editor builds. +**Expected**: Running this manual test **must** result in the `ckeditor-version-collision` error in the console. The error is a safeguard against duplicated/invalid editor builds. From 5d214838782c28b9e021d27c8444d7f9b808852c Mon Sep 17 00:00:00 2001 From: Aleksander Nowodzinski Date: Fri, 6 Jul 2018 17:27:35 +0200 Subject: [PATCH 6/6] Tests: Reverted changes to the article manual test. --- tests/manual/article.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/manual/article.html b/tests/manual/article.html index 2cb95ada..379df573 100644 --- a/tests/manual/article.html +++ b/tests/manual/article.html @@ -1,6 +1,3 @@ -

Heading 1

Paragraph