ソースを参照

Added applyDeltas method to the DeltaReplayer.

Maciej Bukowski 8 年 前
コミット
6b727951e8

+ 25 - 9
packages/ckeditor5-engine/src/dev-utils/deltareplayer.js

@@ -43,6 +43,8 @@ export default class DeltaReplayer {
 	}
 
 	/**
+	 * Applies all deltas with delay between actions.
+	 *
 	 * @param {Number} timeInterval
 	 */
 	play( timeInterval = 1000 ) {
@@ -56,6 +58,29 @@ export default class DeltaReplayer {
 	}
 
 	/**
+	 * @param {Number} numberOfDeltas Number of deltas to apply.
+	 * @returns {Promise}
+	 */
+	applyDeltas( numberOfDeltas ) {
+		if ( numberOfDeltas <= 0 ) {
+			return;
+		}
+
+		return this.applyNextDelta()
+			.then( () => this.applyDeltas( numberOfDeltas - 1 ) )
+			.catch( err => console.warn( err ) );
+	}
+
+	/**
+	 * @returns {Promise}
+	 */
+	applyAllDeltas() {
+		return this.applyNextDelta()
+			.then( () => this.applyAllDeltas() )
+			.catch( err => console.warn( err ) );
+	}
+
+	/**
 	 * @returns {Promise}
 	 */
 	applyNextDelta() {
@@ -80,13 +105,4 @@ export default class DeltaReplayer {
 			} );
 		} );
 	}
-
-	/**
-	 * @returns {Promise}
-	 */
-	applyAllDeltas() {
-		return this.applyNextDelta()
-			.then( () => this.applyAllDeltas() )
-			.catch( err => console.warn( err ) );
-	}
 }

+ 1 - 1
packages/ckeditor5-engine/tests/dev-utils/deltareplayer.js

@@ -7,7 +7,7 @@ import DeltaReplayer from '../../src/dev-utils/deltareplayer';
 
 describe( 'DeltaReplayer', () => {
 	describe( 'constructor()', () => {
-		it( 'should be able to initialize replayer with no deltas', () => {
+		it( 'should be able to initialize replayer without deltas', () => {
 			const fakeDocument = {};
 			const stringifiedDeltas = '';
 			const deltaReplayer = new DeltaReplayer( fakeDocument, '---', stringifiedDeltas );