@@ -582,17 +582,41 @@ describe('ES2015 Specific', function () {
582582 'eql(generatorA(), generatorB())' ) ;
583583 } ) ;
584584
585+ it ( 'returns true for different generator function calls are at level of iteration with same results' , function ( ) {
586+ var generatorA = eval ( 'function * generatorA() { yield 1; yield 2; yield 3; }; generatorA' ) ;
587+ var generatorB = eval ( 'function * generatorB() { yield 6; yield 2; yield 3; }; generatorB' ) ;
588+ var generatorAIterator = generatorA ( ) ;
589+ var generatorBIterator = generatorB ( ) ;
590+ generatorAIterator . next ( )
591+ generatorBIterator . next ( )
592+ assert ( eql ( generatorAIterator , generatorBIterator ) ,
593+ 'eql(generatorAIterator, generatorBIterator' ) ;
594+ } ) ;
595+
585596 it ( 'returns false for same generator function calls that return different results' , function ( ) {
586597 var generator = eval ( 'var set = 0; function * generator() { yield set++; }; generator' ) ;
587598 assert ( eql ( generator ( ) , generator ( ) ) === false ,
588599 'eql(generator(), generator()) === false' ) ;
589600 } ) ;
590601
591- it ( 'returns false for different generator function calls that return different results ' , function ( ) {
602+ it ( 'returns false for generators at different stages of iteration ' , function ( ) {
592603 var generatorA = eval ( 'function * generatorA() { yield 1; yield 2; }; generatorA' ) ;
593- var generatorB = eval ( 'function * generatorB() { yield 4; yield 5; }; generatorB' ) ;
594- assert ( eql ( generatorA ( ) , generatorB ( ) ) === false ,
595- 'eql(generatorA(), generatorB()) === false' ) ;
604+ var generatorB = eval ( 'function * generatorB() { yield 1; yield 2; }; generatorB' ) ;
605+ var generatorBIterator = generatorB ( ) ;
606+ generatorBIterator . next ( )
607+ assert ( eql ( generatorA ( ) , generatorBIterator ) === false ,
608+ 'eql(generatorA(), generatorBIterator) === false' ) ;
609+ } ) ;
610+
611+ it ( 'returns false for generators if one is done' , function ( ) {
612+ var generatorA = eval ( 'function * generatorA() { yield 1; yield 2; }; generatorA' ) ;
613+ var generatorB = eval ( 'function * generatorB() { yield 1; yield 2; }; generatorB' ) ;
614+ var generatorBIterator = generatorB ( ) ;
615+ generatorBIterator . next ( )
616+ generatorBIterator . next ( )
617+ generatorBIterator . next ( )
618+ assert ( eql ( generatorA ( ) , generatorBIterator ) === false ,
619+ 'eql(generatorA(), generatorBIterator) === false' ) ;
596620 } ) ;
597621
598622 } ) ;
0 commit comments