Przeglądaj źródła

Defaulted `Marker#affectsData` to false.

Maciej Bukowski 7 lat temu
rodzic
commit
201715e641

+ 1 - 1
packages/ckeditor5-engine/src/model/document.js

@@ -173,7 +173,7 @@ export default class Document {
 			if ( oldRange === null ) {
 				// If this is a new marker, add a listener that will buffer change whenever marker changes.
 				marker.on( 'change', ( evt, oldRange ) => {
-					this.differ.bufferMarkerChange( marker.name, oldRange, marker.getRange(), affectsData );
+					this.differ.bufferMarkerChange( marker.name, oldRange, marker.getRange(), marker.affectsData );
 				} );
 			}
 		} );

+ 2 - 2
packages/ckeditor5-engine/src/model/markercollection.js

@@ -88,11 +88,11 @@ export default class MarkerCollection {
 	 * @param {String|module:engine/model/markercollection~Marker} markerOrName Name of marker to set or marker instance to update.
 	 * @param {module:engine/model/range~Range} range Marker range.
 	 * @param {Boolean} [managedUsingOperations=false] Specifies whether the marker is managed using operations.
-	 * @param {Boolean} [affectsData=true] Specifies whether the marker affects the data produced by the data pipeline
+	 * @param {Boolean} [affectsData=false] Specifies whether the marker affects the data produced by the data pipeline
 	 * (is persisted in the editor's data).
 	 * @returns {module:engine/model/markercollection~Marker} `Marker` instance which was added or updated.
 	 */
-	_set( markerOrName, range, managedUsingOperations = false, affectsData = true ) {
+	_set( markerOrName, range, managedUsingOperations = false, affectsData = false ) {
 		const markerName = markerOrName instanceof Marker ? markerOrName.name : markerOrName;
 		const oldMarker = this._markers.get( markerName );
 

+ 2 - 2
packages/ckeditor5-engine/src/model/writer.js

@@ -818,7 +818,7 @@ export default class Writer {
 	 * @param {Boolean} options.usingOperation Flag indicating that the marker should be added by MarkerOperation.
 	 * See {@link module:engine/model/markercollection~Marker#managedUsingOperations}.
 	 * @param {module:engine/model/range~Range} options.range Marker range.
-	 * @param {Boolean} [options.affectsData=true] Flag indicating that the marker changes the data model.
+	 * @param {Boolean} [options.affectsData=false] Flag indicating that the marker changes the data model.
 	 * @returns {module:engine/model/markercollection~Marker} Marker that was set.
 	 */
 	addMarker( name, options ) {
@@ -837,7 +837,7 @@ export default class Writer {
 
 		const usingOperation = options.usingOperation;
 		const range = options.range;
-		const affectsData = options.affectsData === undefined ? true : options.affectsData;
+		const affectsData = options.affectsData === undefined ? false : options.affectsData;
 
 		if ( this.model.markers.has( name ) ) {
 			/**

+ 4 - 4
packages/ckeditor5-engine/tests/model/document.js

@@ -415,7 +415,7 @@ describe( 'Document', () => {
 
 			model.change( writer => {
 				const range = Range.createFromParentsAndOffsets( root, 2, root, 4 );
-				writer.addMarker( 'name', { range, usingOperation: true } );
+				writer.addMarker( 'name', { range, usingOperation: true, affectsData: true } );
 			} );
 
 			sinon.assert.calledOnce( spy );
@@ -431,7 +431,7 @@ describe( 'Document', () => {
 
 			model.change( writer => {
 				const range = Range.createFromParentsAndOffsets( root, 2, root, 4 );
-				writer.addMarker( 'name', { range, usingOperation: true, affectsData: false } );
+				writer.addMarker( 'name', { range, usingOperation: true } );
 			} );
 
 			sinon.assert.notCalled( spy );
@@ -447,7 +447,7 @@ describe( 'Document', () => {
 
 			model.change( writer => {
 				const range = Range.createFromParentsAndOffsets( root, 2, root, 4 );
-				writer.addMarker( 'name', { range, usingOperation: false } );
+				writer.addMarker( 'name', { range, usingOperation: false, affectsData: true } );
 			} );
 
 			sinon.assert.calledOnce( spy );
@@ -463,7 +463,7 @@ describe( 'Document', () => {
 
 			model.change( writer => {
 				const range = Range.createFromParentsAndOffsets( root, 2, root, 4 );
-				writer.addMarker( 'name', { range, usingOperation: false, affectsData: false } );
+				writer.addMarker( 'name', { range, usingOperation: false } );
 			} );
 
 			sinon.assert.notCalled( spy );

+ 19 - 19
packages/ckeditor5-engine/tests/model/markercollection.js

@@ -50,22 +50,22 @@ describe( 'MarkerCollection', () => {
 
 			expect( result ).to.equal( marker );
 			expect( marker.name ).to.equal( 'name' );
-			expect( marker.managedUsingOperations ).to.false;
-			expect( marker.affectsData ).to.true;
+			expect( marker.managedUsingOperations ).to.be.false;
+			expect( marker.affectsData ).to.be.false;
 			expect( marker.getRange().isEqual( range ) ).to.be.true;
-			sinon.assert.calledWithExactly( markers.fire, 'update:name', result, null, range, true );
+			sinon.assert.calledWithExactly( markers.fire, 'update:name', result, null, range, false );
 		} );
 
 		it( 'should create a marker marked as managed by operations', () => {
 			const marker = markers._set( 'name', range, true );
 
-			expect( marker.managedUsingOperations ).to.true;
+			expect( marker.managedUsingOperations ).to.be.true;
 		} );
 
-		it( 'should create a marker marked as not affecting the data', () => {
-			const marker = markers._set( 'name', range, false, false );
+		it( 'should create a marker marked as affecting the data', () => {
+			const marker = markers._set( 'name', range, false, true );
 
-			expect( marker.affectsData ).to.false;
+			expect( marker.affectsData ).to.be.true;
 		} );
 
 		it( 'should update marker range and fire update:<markerName> event if marker with given name was in the collection', () => {
@@ -80,7 +80,7 @@ describe( 'MarkerCollection', () => {
 			expect( result ).to.equal( marker );
 			expect( marker.getRange().isEqual( range2 ) ).to.be.true;
 
-			sinon.assert.calledWithExactly( markers.fire, 'update:name', marker, range, range2, true );
+			sinon.assert.calledWithExactly( markers.fire, 'update:name', marker, range, range2, false );
 			sinon.assert.calledOnce( marker._detachLiveRange );
 			sinon.assert.calledOnce( marker._detachLiveRange );
 		} );
@@ -97,10 +97,10 @@ describe( 'MarkerCollection', () => {
 			const result = markers._set( 'name', range, true );
 
 			expect( result ).to.equal( marker );
-			expect( marker.managedUsingOperations ).to.true;
+			expect( marker.managedUsingOperations ).to.be.true;
 			expect( marker.getRange().isEqual( range ) ).to.be.true;
 
-			sinon.assert.calledWithExactly( markers.fire, 'update:name', marker, range, range, true );
+			sinon.assert.calledWithExactly( markers.fire, 'update:name', marker, range, range, false );
 			sinon.assert.notCalled( marker._detachLiveRange );
 			sinon.assert.notCalled( marker._attachLiveRange );
 		} );
@@ -121,7 +121,7 @@ describe( 'MarkerCollection', () => {
 
 			markers._set( marker, range2 );
 
-			expect( marker.getRange().isEqual( range2 ) ).to.true;
+			expect( marker.getRange().isEqual( range2 ) ).to.be.true;
 		} );
 	} );
 
@@ -331,7 +331,7 @@ describe( 'Marker', () => {
 
 		expect( eventRange.notCalled ).to.be.true;
 		expect( eventContent.notCalled ).to.be.true;
-		expect( liveRange.detach.calledOnce ).to.true;
+		expect( liveRange.detach.calledOnce ).to.be.true;
 	} );
 
 	it( 'should reattach live range to marker', () => {
@@ -354,7 +354,7 @@ describe( 'Marker', () => {
 
 		expect( eventRange.notCalled ).to.be.true;
 		expect( eventContent.notCalled ).to.be.true;
-		expect( oldLiveRange.detach.calledOnce ).to.true;
+		expect( oldLiveRange.detach.calledOnce ).to.be.true;
 
 		newLiveRange.fire( 'change:range', null, {} );
 		newLiveRange.fire( 'change:content', null, {} );
@@ -367,29 +367,29 @@ describe( 'Marker', () => {
 		const range = Range.createFromParentsAndOffsets( root, 1, root, 2 );
 		const marker = model.markers._set( 'name', range, false );
 
-		expect( marker.managedUsingOperations ).to.false;
+		expect( marker.managedUsingOperations ).to.be.false;
 
 		model.markers._set( 'name', range, true );
 
-		expect( marker.managedUsingOperations ).to.true;
+		expect( marker.managedUsingOperations ).to.be.true;
 
 		model.markers._set( 'name', range, false );
 
-		expect( marker.managedUsingOperations ).to.false;
+		expect( marker.managedUsingOperations ).to.be.false;
 	} );
 
 	it( 'should change affectsData flag', () => {
 		const range = Range.createFromParentsAndOffsets( root, 1, root, 2 );
 		const marker = model.markers._set( 'name', range, false, false );
 
-		expect( marker.affectsData ).to.false;
+		expect( marker.affectsData ).to.be.false;
 
 		model.markers._set( 'name', range, false, true );
 
-		expect( marker.affectsData ).to.true;
+		expect( marker.affectsData ).to.be.true;
 
 		model.markers._set( 'name', range, false, false );
 
-		expect( marker.affectsData ).to.false;
+		expect( marker.affectsData ).to.be.false;
 	} );
 } );

+ 1 - 1
packages/ckeditor5-engine/tests/model/operation/markeroperation.js

@@ -93,7 +93,7 @@ describe( 'MarkerOperation', () => {
 		sinon.spy( model.markers, 'fire' );
 
 		model.applyOperation( wrapInDelta(
-			new MarkerOperation( 'name', range, range, model.markers, doc.version, true )
+			new MarkerOperation( 'name', range, range, model.markers, doc.version, false )
 		) );
 
 		expect( model.markers.fire.notCalled ).to.be.true;

+ 15 - 15
packages/ckeditor5-engine/tests/model/writer.js

@@ -1984,16 +1984,16 @@ describe( 'Writer', () => {
 			expect( marker.managedUsingOperations ).to.be.false;
 		} );
 
-		it( 'should return marker with properly set affectsData (default to true)', () => {
+		it( 'should return marker with properly set affectsData (default to false)', () => {
 			const marker = addMarker( 'name', { range, usingOperation: false } );
 
-			expect( marker.affectsData ).to.be.true;
+			expect( marker.affectsData ).to.be.false;
 		} );
 
 		it( 'should return marker with properly set affectsData (to false)', () => {
-			const marker = addMarker( 'name', { range, usingOperation: false, affectsData: false } );
+			const marker = addMarker( 'name', { range, usingOperation: false, affectsData: true } );
 
-			expect( marker.affectsData ).to.be.false;
+			expect( marker.affectsData ).to.be.true;
 		} );
 
 		it( 'should throw when trying to update existing marker in the document marker collection', () => {
@@ -2219,16 +2219,16 @@ describe( 'Writer', () => {
 
 		it( 'should allow changing affectsData property using operations', () => {
 			addMarker( 'name', { range, usingOperation: true } );
-			updateMarker( 'name', { affectsData: false } );
+			updateMarker( 'name', { affectsData: true } );
 
 			const op1 = batch.deltas[ 0 ].operations[ 0 ];
 			const op2 = batch.deltas[ 1 ].operations[ 0 ];
 			const marker = model.markers.get( 'name' );
 
-			expect( op1.affectsData ).to.be.true;
-			expect( op2.affectsData ).to.be.false;
+			expect( op1.affectsData ).to.be.false;
+			expect( op2.affectsData ).to.be.true;
 
-			expect( marker.affectsData ).to.be.false;
+			expect( marker.affectsData ).to.be.true;
 		} );
 
 		it( 'should not change affectsData property if not provided', () => {
@@ -2244,31 +2244,31 @@ describe( 'Writer', () => {
 
 		it( 'should allow changing affectsData and usingOperation', () => {
 			addMarker( 'name', { range, usingOperation: true } );
-			updateMarker( 'name', { affectsData: false, usingOperation: false } );
+			updateMarker( 'name', { affectsData: true, usingOperation: false } );
 
 			const op1 = batch.deltas[ 0 ].operations[ 0 ];
 			const op2 = batch.deltas[ 1 ].operations[ 0 ];
 			const marker = model.markers.get( 'name' );
 
-			expect( op1.affectsData ).to.be.true;
-			expect( op2.affectsData ).to.be.false;
+			expect( op1.affectsData ).to.be.false;
+			expect( op2.affectsData ).to.be.true;
 
-			expect( marker.affectsData ).to.be.false;
+			expect( marker.affectsData ).to.be.true;
 		} );
 
 		it( 'should allow changing affectsData and usingOperation #2', () => {
 			const spy = sinon.spy();
 			model.on( 'applyOperation', spy );
 
-			addMarker( 'name', { range, usingOperation: false, affectsData: false } );
-			updateMarker( 'name', { usingOperation: true, affectsData: true } );
+			addMarker( 'name', { range, usingOperation: false, affectsData: true } );
+			updateMarker( 'name', { usingOperation: true, affectsData: false } );
 
 			const marker = model.markers.get( 'name' );
 
 			sinon.assert.calledOnce( spy );
 			expect( spy.firstCall.args[ 1 ][ 0 ].type ).to.equal( 'marker' );
 
-			expect( marker.affectsData ).to.be.true;
+			expect( marker.affectsData ).to.be.false;
 		} );
 
 		it( 'should throw when range and usingOperations were not provided', () => {