|
|
@@ -35,14 +35,14 @@ describe( 'SelectionObserver', () => {
|
|
|
viewRoot.appendChildren( parse( '<container:p>foo</container:p><container:p>bar</container:p>' ) );
|
|
|
|
|
|
viewDocument.render();
|
|
|
-
|
|
|
- viewDocument.focusedEditable = viewRoot;
|
|
|
} );
|
|
|
|
|
|
beforeEach( ( done ) => {
|
|
|
viewDocument.selection.removeAllRanges();
|
|
|
document.getSelection().removeAllRanges();
|
|
|
|
|
|
+ viewDocument.focusedEditable = viewRoot;
|
|
|
+
|
|
|
viewDocument.getObserver( SelectionObserver ).enable();
|
|
|
|
|
|
// Ensure selectionchange will not be fired.
|
|
|
@@ -112,6 +112,18 @@ describe( 'SelectionObserver', () => {
|
|
|
changeDomSelection();
|
|
|
} );
|
|
|
|
|
|
+ it( 'should not fired if there is no focusedEditable', ( done ) => {
|
|
|
+ viewDocument.focusedEditable = null;
|
|
|
+
|
|
|
+ listenter.listenTo( viewDocument, 'selectionChange', () => {
|
|
|
+ throw 'selectionChange on render';
|
|
|
+ } );
|
|
|
+
|
|
|
+ setTimeout( () => done(), 70 );
|
|
|
+
|
|
|
+ changeDomSelection();
|
|
|
+ } );
|
|
|
+
|
|
|
it( 'should call render after selection change which reset selection if it was not changed', ( done ) => {
|
|
|
const viewBar = viewDocument.getRoot().getChild( 1 ).getChild( 0 );
|
|
|
viewDocument.selection.addRange( ViewRange.createFromParentsAndOffsets( viewBar, 0, viewBar, 1 ) );
|