From d50c34e84ab08b26e452c45f51496df92f1927fd Mon Sep 17 00:00:00 2001 From: Marek Lewandowski Date: Fri, 3 Jan 2020 15:35:12 +0100 Subject: [PATCH 1/2] Tests: Fixed tests leaking editor instance / DOM element. --- tests/specialcharactersarrows.js | 11 ++++++++--- tests/specialcharacterscurrency.js | 10 +++++++--- tests/specialcharacterslatin.js | 11 ++++++++--- tests/specialcharacterstext.js | 11 ++++++++--- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/tests/specialcharactersarrows.js b/tests/specialcharactersarrows.js index 28b0f5f..e62bdc0 100644 --- a/tests/specialcharactersarrows.js +++ b/tests/specialcharactersarrows.js @@ -13,10 +13,10 @@ import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils'; describe( 'SpecialCharactersArrows', () => { testUtils.createSinonSandbox(); - let addItemsSpy, addItemsFirstCallArgs; + let editor, editorElement, addItemsSpy, addItemsFirstCallArgs; beforeEach( () => { - const editorElement = document.createElement( 'div' ); + editorElement = document.createElement( 'div' ); addItemsSpy = sinon.spy( SpecialCharacters.prototype, 'addItems' ); @@ -25,15 +25,20 @@ describe( 'SpecialCharactersArrows', () => { .create( editorElement, { plugins: [ SpecialCharacters, SpecialCharactersArrows ] } ) - .then( () => { + .then( newEditor => { + editor = newEditor; addItemsFirstCallArgs = addItemsSpy.args[ 0 ]; } ); } ); afterEach( () => { addItemsSpy.restore(); + + editorElement.remove(); + return editor.destroy(); } ); + it( 'adds new items', () => { expect( addItemsSpy.callCount ).to.equal( 1 ); } ); diff --git a/tests/specialcharacterscurrency.js b/tests/specialcharacterscurrency.js index eba96c3..04fc9ad 100644 --- a/tests/specialcharacterscurrency.js +++ b/tests/specialcharacterscurrency.js @@ -13,10 +13,10 @@ import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils'; describe( 'SpecialCharactersCurrency', () => { testUtils.createSinonSandbox(); - let addItemsSpy, addItemsFirstCallArgs; + let editor, editorElement, addItemsSpy, addItemsFirstCallArgs; beforeEach( () => { - const editorElement = document.createElement( 'div' ); + editorElement = document.createElement( 'div' ); addItemsSpy = sinon.spy( SpecialCharacters.prototype, 'addItems' ); @@ -25,13 +25,17 @@ describe( 'SpecialCharactersCurrency', () => { .create( editorElement, { plugins: [ SpecialCharacters, SpecialCharactersCurrency ] } ) - .then( () => { + .then( newEditor => { + editor = newEditor; addItemsFirstCallArgs = addItemsSpy.args[ 0 ]; } ); } ); afterEach( () => { addItemsSpy.restore(); + + editorElement.remove(); + return editor.destroy(); } ); it( 'adds new items', () => { diff --git a/tests/specialcharacterslatin.js b/tests/specialcharacterslatin.js index 404dc68..6736f4a 100644 --- a/tests/specialcharacterslatin.js +++ b/tests/specialcharacterslatin.js @@ -13,10 +13,10 @@ import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils'; describe( 'SpecialCharactersLatin', () => { testUtils.createSinonSandbox(); - let addItemsSpy, addItemsFirstCallArgs; + let editor, editorElement, addItemsSpy, addItemsFirstCallArgs; beforeEach( () => { - const editorElement = document.createElement( 'div' ); + editorElement = document.createElement( 'div' ); addItemsSpy = sinon.spy( SpecialCharacters.prototype, 'addItems' ); @@ -25,15 +25,20 @@ describe( 'SpecialCharactersLatin', () => { .create( editorElement, { plugins: [ SpecialCharacters, SpecialCharactersLatin ] } ) - .then( () => { + .then( newEditor => { + editor = newEditor; addItemsFirstCallArgs = addItemsSpy.args[ 0 ]; } ); } ); afterEach( () => { addItemsSpy.restore(); + + editorElement.remove(); + return editor.destroy(); } ); + it( 'adds new items', () => { expect( addItemsSpy.callCount ).to.equal( 1 ); } ); diff --git a/tests/specialcharacterstext.js b/tests/specialcharacterstext.js index a8e2be4..6708e1f 100644 --- a/tests/specialcharacterstext.js +++ b/tests/specialcharacterstext.js @@ -13,10 +13,10 @@ import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils'; describe( 'SpecialCharactersText', () => { testUtils.createSinonSandbox(); - let addItemsSpy, addItemsFirstCallArgs; + let editor, editorElement, addItemsSpy, addItemsFirstCallArgs; beforeEach( () => { - const editorElement = document.createElement( 'div' ); + editorElement = document.createElement( 'div' ); addItemsSpy = sinon.spy( SpecialCharacters.prototype, 'addItems' ); @@ -25,15 +25,20 @@ describe( 'SpecialCharactersText', () => { .create( editorElement, { plugins: [ SpecialCharacters, SpecialCharactersText ] } ) - .then( () => { + .then( newEditor => { + editor = newEditor; addItemsFirstCallArgs = addItemsSpy.args[ 0 ]; } ); } ); afterEach( () => { addItemsSpy.restore(); + + editorElement.remove(); + return editor.destroy(); } ); + it( 'adds new items', () => { expect( addItemsSpy.callCount ).to.equal( 1 ); } ); From 090e184840e1d02e91126551793c43edd3d08c33 Mon Sep 17 00:00:00 2001 From: Kamil Piechaczek Date: Tue, 7 Jan 2020 13:24:45 +0100 Subject: [PATCH 2/2] Removed blank lines. --- tests/specialcharactersarrows.js | 1 - tests/specialcharacterslatin.js | 1 - tests/specialcharacterstext.js | 1 - 3 files changed, 3 deletions(-) diff --git a/tests/specialcharactersarrows.js b/tests/specialcharactersarrows.js index e62bdc0..db7044f 100644 --- a/tests/specialcharactersarrows.js +++ b/tests/specialcharactersarrows.js @@ -38,7 +38,6 @@ describe( 'SpecialCharactersArrows', () => { return editor.destroy(); } ); - it( 'adds new items', () => { expect( addItemsSpy.callCount ).to.equal( 1 ); } ); diff --git a/tests/specialcharacterslatin.js b/tests/specialcharacterslatin.js index 6736f4a..4f538a3 100644 --- a/tests/specialcharacterslatin.js +++ b/tests/specialcharacterslatin.js @@ -38,7 +38,6 @@ describe( 'SpecialCharactersLatin', () => { return editor.destroy(); } ); - it( 'adds new items', () => { expect( addItemsSpy.callCount ).to.equal( 1 ); } ); diff --git a/tests/specialcharacterstext.js b/tests/specialcharacterstext.js index 6708e1f..6a67959 100644 --- a/tests/specialcharacterstext.js +++ b/tests/specialcharacterstext.js @@ -38,7 +38,6 @@ describe( 'SpecialCharactersText', () => { return editor.destroy(); } ); - it( 'adds new items', () => { expect( addItemsSpy.callCount ).to.equal( 1 ); } );