Explorar o código

Merge pull request #22 from alexeckermann/t/ckeditor5/1150

Internal: Ensured the `BalloonEditorUIView` is rendered correctly and its children are added in `#render()` instead of `#constructor()` (see ckeditor/ckeditor5#1150).

Huge thanks to [Alex Eckermann](https://github.com/alexeckermann) for this contribution!
Aleksander Nowodzinski %!s(int64=7) %!d(string=hai) anos
pai
achega
328b0fdc37

+ 7 - 0
packages/ckeditor5-editor-balloon/src/ballooneditoruiview.js

@@ -33,6 +33,13 @@ export default class BalloonEditorUIView extends EditorUIView {
 		 * @member {module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView}
 		 */
 		this.editable = new InlineEditableUIView( locale, editableElement );
+	}
+
+	/**
+	 * @inheritDoc
+	 */
+	render() {
+		super.render();
 
 		this.registerChild( this.editable );
 	}

+ 12 - 6
packages/ckeditor5-editor-balloon/tests/ballooneditoruiview.js

@@ -25,16 +25,22 @@ describe( 'BalloonEditorUIView', () => {
 				expect( view.editable.locale ).to.equal( locale );
 			} );
 
-			it( 'is registered as a child', () => {
-				const spy = sinon.spy( view.editable, 'destroy' );
-
-				view.render();
-				view.destroy();
-				sinon.assert.calledOnce( spy );
+			it( 'is not rendered', () => {
+				expect( view.editable.isRendered ).to.be.false;
 			} );
 		} );
 	} );
 
+	describe( 'render()', () => {
+		it( 'editable is registered as a child', () => {
+			const spy = sinon.spy( view.editable, 'destroy' );
+
+			view.render();
+			view.destroy();
+			sinon.assert.calledOnce( spy );
+		} );
+	} );
+
 	describe( 'editableElement', () => {
 		it( 'returns editable\'s view element', () => {
 			view.render();