|
|
@@ -12,7 +12,7 @@ import View from '../../src/view';
|
|
|
import Locale from '@ckeditor/ckeditor5-utils/src/locale';
|
|
|
import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
|
|
|
|
|
|
-describe( 'EditableUIView', () => {
|
|
|
+describe.only( 'EditableUIView', () => {
|
|
|
let view, editableElement, editingView, editingViewRoot, locale;
|
|
|
|
|
|
testUtils.createSinonSandbox();
|
|
|
@@ -31,14 +31,21 @@ describe( 'EditableUIView', () => {
|
|
|
view.render();
|
|
|
} );
|
|
|
|
|
|
+ afterEach( () => {
|
|
|
+ view.destroy();
|
|
|
+ editableElement.remove();
|
|
|
+ } );
|
|
|
+
|
|
|
describe( 'constructor()', () => {
|
|
|
it( 'sets initial values of attributes', () => {
|
|
|
- view = new EditableUIView( locale, editingView );
|
|
|
+ const view = new EditableUIView( locale, editingView );
|
|
|
|
|
|
expect( view.isFocused ).to.be.false;
|
|
|
expect( view.name ).to.be.null;
|
|
|
expect( view._externalElement ).to.be.undefined;
|
|
|
expect( view._editingView ).to.equal( editingView );
|
|
|
+
|
|
|
+ view.destroy();
|
|
|
} );
|
|
|
|
|
|
it( 'renders element from template when no editableElement', () => {
|
|
|
@@ -54,10 +61,11 @@ describe( 'EditableUIView', () => {
|
|
|
} );
|
|
|
|
|
|
it( 'accepts editableElement as an argument', () => {
|
|
|
- view = new EditableUIView( locale, editingView, editableElement );
|
|
|
+ const view = new EditableUIView( locale, editingView, editableElement );
|
|
|
view.name = editingViewRoot.rootName;
|
|
|
|
|
|
view.render();
|
|
|
+
|
|
|
expect( view.element ).to.equal( editableElement );
|
|
|
expect( view.element ).to.equal( view._editableElement );
|
|
|
expect( view.element.classList.contains( 'ck' ) ).to.be.true;
|
|
|
@@ -67,16 +75,21 @@ describe( 'EditableUIView', () => {
|
|
|
expect( view.element.getAttribute( 'dir' ) ).to.equal( 'ltr' );
|
|
|
expect( view._hasExternalElement ).to.be.true;
|
|
|
expect( view.isRendered ).to.be.true;
|
|
|
+
|
|
|
+ view.destroy();
|
|
|
} );
|
|
|
|
|
|
it( 'sets proper attributes when using RTL language', () => {
|
|
|
- locale = new Locale( 'ar' );
|
|
|
- view = new EditableUIView( locale, editingView, editableElement );
|
|
|
+ const locale = new Locale( 'ar' );
|
|
|
+ const view = new EditableUIView( locale, editingView );
|
|
|
view.name = editingViewRoot.rootName;
|
|
|
|
|
|
view.render();
|
|
|
+
|
|
|
expect( view.element.getAttribute( 'lang' ) ).to.equal( 'ar' );
|
|
|
expect( view.element.getAttribute( 'dir' ) ).to.equal( 'rtl' );
|
|
|
+
|
|
|
+ view.destroy();
|
|
|
} );
|
|
|
} );
|
|
|
|
|
|
@@ -137,6 +150,7 @@ describe( 'EditableUIView', () => {
|
|
|
expect( secondEditingViewRoot.hasClass( 'ck-blurred' ), 12 ).to.be.false;
|
|
|
|
|
|
secondEditableElement.remove();
|
|
|
+ secondView.destroy();
|
|
|
} );
|
|
|
} );
|
|
|
} );
|
|
|
@@ -144,12 +158,21 @@ describe( 'EditableUIView', () => {
|
|
|
describe( 'destroy()', () => {
|
|
|
it( 'calls super#destroy()', () => {
|
|
|
const spy = testUtils.sinon.spy( View.prototype, 'destroy' );
|
|
|
+ const view = new EditableUIView( locale, editingView );
|
|
|
+ view.name = editingViewRoot.rootName;
|
|
|
|
|
|
+ view.render();
|
|
|
view.destroy();
|
|
|
+
|
|
|
sinon.assert.calledOnce( spy );
|
|
|
} );
|
|
|
|
|
|
it( 'can be called multiple times', () => {
|
|
|
+ const view = new EditableUIView( locale, editingView );
|
|
|
+ view.name = editingViewRoot.rootName;
|
|
|
+
|
|
|
+ view.render();
|
|
|
+
|
|
|
expect( () => {
|
|
|
view.destroy();
|
|
|
view.destroy();
|
|
|
@@ -158,11 +181,11 @@ describe( 'EditableUIView', () => {
|
|
|
|
|
|
describe( 'when #editableElement as an argument', () => {
|
|
|
it( 'reverts the template of editableElement', () => {
|
|
|
- editableElement = document.createElement( 'div' );
|
|
|
+ const editableElement = document.createElement( 'div' );
|
|
|
editableElement.classList.add( 'foo' );
|
|
|
editableElement.contentEditable = false;
|
|
|
|
|
|
- view = new EditableUIView( locale, editingView, editableElement );
|
|
|
+ const view = new EditableUIView( locale, editingView, editableElement );
|
|
|
view.name = editingViewRoot.rootName;
|
|
|
|
|
|
view.render();
|