Browse Source

Tests: Added second test case for fake selection updating.

Marek Lewandowski 6 years ago
parent
commit
77fa360238
1 changed files with 13 additions and 4 deletions
  1. 13 4
      packages/ckeditor5-engine/tests/view/renderer.js

+ 13 - 4
packages/ckeditor5-engine/tests/view/renderer.js

@@ -1805,11 +1805,9 @@ describe( 'Renderer', () => {
 			} );
 
 			it( 'doesn\'t render the same selection multiple times', () => {
-				const createRangeSpy = sinon.spy( domRoot.ownerDocument, 'createRange' );
-
+				const createRangeSpy = sinon.spy( document, 'createRange' );
 				const label = 'subsequent fake selection calls';
-				selection._setTo( selection.getRanges(), { fake: true, label } );
-				renderer.render();
+
 				selection._setTo( selection.getRanges(), { fake: true, label } );
 				renderer.render();
 				selection._setTo( selection.getRanges(), { fake: true, label } );
@@ -1818,6 +1816,17 @@ describe( 'Renderer', () => {
 				expect( createRangeSpy.callCount ).to.be.equal( 1 );
 			} );
 
+			it( 'different subsequent fake selections sets do change native selection', () => {
+				const createRangeSpy = sinon.spy( document, 'createRange' );
+
+				selection._setTo( selection.getRanges(), { fake: true, label: 'selection 1' } );
+				renderer.render();
+				selection._setTo( selection.getRanges(), { fake: true, label: 'selection 2' } );
+				renderer.render();
+
+				expect( createRangeSpy.callCount ).to.be.equal( 2 );
+			} );
+
 			it( 'should render   if no selection label is provided', () => {
 				selection._setTo( selection.getRanges(), { fake: true } );
 				renderer.render();