|
@@ -206,95 +206,85 @@ describe( 'Model', () => {
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
it( 'should be possible to nest enqueueChange in enqueueChange event', () => {
|
|
it( 'should be possible to nest enqueueChange in enqueueChange event', () => {
|
|
|
- model.once( '_change', () => {
|
|
|
|
|
- changes += 'B';
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
model.enqueueChange( () => {
|
|
model.enqueueChange( () => {
|
|
|
|
|
+ changes += 'A';
|
|
|
|
|
+
|
|
|
model.enqueueChange( () => {
|
|
model.enqueueChange( () => {
|
|
|
changes += 'C';
|
|
changes += 'C';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- changes += 'A';
|
|
|
|
|
|
|
+ changes += 'B';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
expect( changes ).to.equal( 'ABC' );
|
|
expect( changes ).to.equal( 'ABC' );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
it( 'should be possible to nest enqueueChange in changes event', () => {
|
|
it( 'should be possible to nest enqueueChange in changes event', () => {
|
|
|
- model.once( '_change', () => {
|
|
|
|
|
- changes += 'B';
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
model.change( () => {
|
|
model.change( () => {
|
|
|
|
|
+ changes += 'A';
|
|
|
|
|
+
|
|
|
model.enqueueChange( () => {
|
|
model.enqueueChange( () => {
|
|
|
changes += 'C';
|
|
changes += 'C';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- changes += 'A';
|
|
|
|
|
|
|
+ changes += 'B';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
expect( changes ).to.equal( 'ABC' );
|
|
expect( changes ).to.equal( 'ABC' );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
it( 'should be possible to nest changes in enqueueChange event', () => {
|
|
it( 'should be possible to nest changes in enqueueChange event', () => {
|
|
|
- model.once( '_change', () => {
|
|
|
|
|
- changes += 'C';
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
model.enqueueChange( () => {
|
|
model.enqueueChange( () => {
|
|
|
|
|
+ changes += 'A';
|
|
|
|
|
+
|
|
|
model.change( () => {
|
|
model.change( () => {
|
|
|
- changes += 'A';
|
|
|
|
|
|
|
+ changes += 'B';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- changes += 'B';
|
|
|
|
|
|
|
+ changes += 'C';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
expect( changes ).to.equal( 'ABC' );
|
|
expect( changes ).to.equal( 'ABC' );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
it( 'should be possible to nest changes in changes event', () => {
|
|
it( 'should be possible to nest changes in changes event', () => {
|
|
|
- model.once( '_change', () => {
|
|
|
|
|
- changes += 'C';
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
model.change( () => {
|
|
model.change( () => {
|
|
|
|
|
+ changes += 'A';
|
|
|
|
|
+
|
|
|
model.change( () => {
|
|
model.change( () => {
|
|
|
- changes += 'A';
|
|
|
|
|
|
|
+ changes += 'B';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
- changes += 'B';
|
|
|
|
|
|
|
+ changes += 'C';
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
expect( changes ).to.equal( 'ABC' );
|
|
expect( changes ).to.equal( 'ABC' );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
it( 'should let mix blocks', () => {
|
|
it( 'should let mix blocks', () => {
|
|
|
- model.once( '_change', () => {
|
|
|
|
|
- model.change( () => {
|
|
|
|
|
- changes += 'B';
|
|
|
|
|
-
|
|
|
|
|
- nestedEnqueue();
|
|
|
|
|
- } );
|
|
|
|
|
|
|
+ model.change( () => {
|
|
|
|
|
+ changes += 'A';
|
|
|
|
|
|
|
|
- model.change( () => {
|
|
|
|
|
|
|
+ model.enqueueChange( () => {
|
|
|
changes += 'C';
|
|
changes += 'C';
|
|
|
- } );
|
|
|
|
|
|
|
|
|
|
- changes += 'D';
|
|
|
|
|
- } );
|
|
|
|
|
|
|
+ model.change( () => {
|
|
|
|
|
+ changes += 'D';
|
|
|
|
|
|
|
|
- model.change( () => {
|
|
|
|
|
- changes += 'A';
|
|
|
|
|
- } );
|
|
|
|
|
-
|
|
|
|
|
- expect( changes ).to.equal( 'ABCDE' );
|
|
|
|
|
|
|
+ model.enqueueChange( () => {
|
|
|
|
|
+ changes += 'F';
|
|
|
|
|
+ } );
|
|
|
|
|
+ } );
|
|
|
|
|
|
|
|
- function nestedEnqueue() {
|
|
|
|
|
- model.enqueueChange( () => {
|
|
|
|
|
- changes += 'E';
|
|
|
|
|
|
|
+ model.change( () => {
|
|
|
|
|
+ changes += 'E';
|
|
|
|
|
+ } );
|
|
|
} );
|
|
} );
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
+ changes += 'B';
|
|
|
|
|
+ } );
|
|
|
|
|
+
|
|
|
|
|
+ expect( changes ).to.equal( 'ABCDEF' );
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
it( 'should use the same writer in all change blocks (change & change)', () => {
|
|
it( 'should use the same writer in all change blocks (change & change)', () => {
|