diff --git a/tests/controller/editingcontroller.js b/tests/controller/editingcontroller.js index 2736657bd..701fd00ac 100644 --- a/tests/controller/editingcontroller.js +++ b/tests/controller/editingcontroller.js @@ -431,6 +431,22 @@ describe( 'EditingController', () => { expect( changeListenerSpy.calledOnce ).to.be.true; } ); + it( 'should call view post-fixers once for model.change() block', () => { + const postfixerSpy = sinon.spy(); + + editing.view.document.registerPostFixer( postfixerSpy ); + + model.change( writer => { + executeSomeModelChange( writer ); + + editing.view.change( writer => { + executeSomeViewChange( writer ); + } ); + } ); + + sinon.assert.calledOnce( postfixerSpy ); + } ); + function executeSomeModelChange( writer ) { const range = new ModelRange( new ModelPosition( modelRoot, [ 0, 1 ] ), new ModelPosition( modelRoot, [ 2, 2 ] ) ); writer.addMarker( 'marker1', { range, usingOperation: true } ); diff --git a/tests/view/view/view.js b/tests/view/view/view.js index 90f0a5034..258eeca2e 100644 --- a/tests/view/view/view.js +++ b/tests/view/view/view.js @@ -396,35 +396,6 @@ describe( 'view', () => { } ); } ); - describe( 'editing controller integration', () => { - it( 'should call post-fixers once if rendering model changes (_disableRendering integration)', () => { - const postFixerSpy = sinon.spy( () => false ); - const changeSpy = sinon.spy(); - const eventSpy = sinon.spy(); - - viewDocument.registerPostFixer( postFixerSpy ); - - view.on( 'render', eventSpy ); - - // This is set in editing controller on `model#_beforeChanges` event - view._renderingDisabled = true; - - view.change( changeSpy ); - view.change( changeSpy ); - view.change( changeSpy ); - - // This is set in editing controller on `model#_afterChanges` event - view._renderingDisabled = false; - view.render(); - - sinon.assert.calledOnce( postFixerSpy ); - sinon.assert.calledThrice( changeSpy ); - sinon.assert.calledOnce( eventSpy ); - - sinon.assert.callOrder( changeSpy, postFixerSpy, eventSpy ); - } ); - } ); - describe( 'view and DOM integration', () => { it( 'should remove content of the DOM', () => { const domDiv = createElement( document, 'div', { id: 'editor' }, [