File tree Expand file tree Collapse file tree 6 files changed +60
-97
lines changed
test/built-ins/Iterator/prototype Expand file tree Collapse file tree 6 files changed +60
-97
lines changed Original file line number Diff line number Diff line change @@ -16,29 +16,21 @@ info: |
16
16
features: [iterator-helpers]
17
17
flags: []
18
18
---*/
19
+ function * g ( ) {
20
+ yield 0 ;
21
+ yield 1 ;
22
+ yield 2 ;
23
+ }
24
+
19
25
class TestIterator extends Iterator {
20
- constructor ( ) {
21
- super ( ) ;
22
- this . _remaining = 3 ;
23
- }
24
- next ( ) {
25
- if ( this . _remaining > 0 ) {
26
- return {
27
- done : false ,
28
- value : this . _remaining -- ,
29
- } ;
30
- } else {
31
- return {
32
- done : true ,
33
- value : undefined ,
34
- } ;
35
- }
26
+ get next ( ) {
27
+ let n = g ( ) ;
28
+ return function ( ) {
29
+ return n . next ( ) ;
30
+ } ;
36
31
}
37
32
return ( ) {
38
- if ( this . _remaining <= 0 ) {
39
- throw new Test262Error ( ) ;
40
- }
41
- return { } ;
33
+ throw new Test262Error ( ) ;
42
34
}
43
35
}
44
36
Original file line number Diff line number Diff line change @@ -13,29 +13,21 @@ info: |
13
13
features: [iterator-helpers]
14
14
flags: []
15
15
---*/
16
+ function * g ( ) {
17
+ yield 0 ;
18
+ yield 1 ;
19
+ yield 2 ;
20
+ }
21
+
16
22
class TestIterator extends Iterator {
17
- constructor ( ) {
18
- super ( ) ;
19
- this . _remaining = 3 ;
20
- }
21
- next ( ) {
22
- if ( this . _remaining > 0 ) {
23
- return {
24
- done : false ,
25
- value : this . _remaining -- ,
26
- } ;
27
- } else {
28
- return {
29
- done : true ,
30
- value : undefined ,
31
- } ;
32
- }
23
+ get next ( ) {
24
+ let n = g ( ) ;
25
+ return function ( ) {
26
+ return n . next ( ) ;
27
+ } ;
33
28
}
34
29
return ( ) {
35
- if ( this . _remaining <= 0 ) {
36
- throw new Test262Error ( ) ;
37
- }
38
- return { } ;
30
+ throw new Test262Error ( ) ;
39
31
}
40
32
}
41
33
Original file line number Diff line number Diff line change @@ -10,29 +10,21 @@ info: |
10
10
features: [iterator-helpers]
11
11
flags: []
12
12
---*/
13
+ function * g ( ) {
14
+ yield 0 ;
15
+ yield 1 ;
16
+ yield 2 ;
17
+ }
18
+
13
19
class TestIterator extends Iterator {
14
- constructor ( ) {
15
- super ( ) ;
16
- this . _remaining = 3 ;
17
- }
18
- next ( ) {
19
- if ( this . _remaining > 0 ) {
20
- return {
21
- done : false ,
22
- value : this . _remaining -- ,
23
- } ;
24
- } else {
25
- return {
26
- done : true ,
27
- value : undefined ,
28
- } ;
29
- }
20
+ get next ( ) {
21
+ let n = g ( ) ;
22
+ return function ( ) {
23
+ return n . next ( ) ;
24
+ } ;
30
25
}
31
26
return ( ) {
32
- if ( this . _remaining <= 0 ) {
33
- throw new Test262Error ( ) ;
34
- }
35
- return { } ;
27
+ throw new Test262Error ( ) ;
36
28
}
37
29
}
38
30
Original file line number Diff line number Diff line change @@ -10,29 +10,21 @@ info: |
10
10
features: [iterator-helpers]
11
11
flags: []
12
12
---*/
13
+ function * g ( ) {
14
+ yield 0 ;
15
+ yield 1 ;
16
+ yield 2 ;
17
+ }
18
+
13
19
class TestIterator extends Iterator {
14
- constructor ( ) {
15
- super ( ) ;
16
- this . _remaining = 3 ;
17
- }
18
- next ( ) {
19
- if ( this . _remaining > 0 ) {
20
- return {
21
- done : false ,
22
- value : this . _remaining -- ,
23
- } ;
24
- } else {
25
- return {
26
- done : true ,
27
- value : undefined ,
28
- } ;
29
- }
20
+ get next ( ) {
21
+ let n = g ( ) ;
22
+ return function ( ) {
23
+ return n . next ( ) ;
24
+ } ;
30
25
}
31
26
return ( ) {
32
- if ( this . _remaining <= 0 ) {
33
- throw new Test262Error ( ) ;
34
- }
35
- return { } ;
27
+ throw new Test262Error ( ) ;
36
28
}
37
29
}
38
30
Original file line number Diff line number Diff line change @@ -13,23 +13,18 @@ info: |
13
13
features: [iterator-helpers]
14
14
flags: []
15
15
---*/
16
+ function * g ( ) {
17
+ yield 0 ;
18
+ yield 1 ;
19
+ yield 2 ;
20
+ }
21
+
16
22
class TestIterator extends Iterator {
17
- constructor ( ) {
18
- super ( ) ;
19
- this . _remaining = 3 ;
20
- }
21
- next ( ) {
22
- if ( this . _remaining > 0 ) {
23
- return {
24
- done : false ,
25
- value : this . _remaining -- ,
26
- } ;
27
- } else {
28
- return {
29
- done : true ,
30
- value : undefined ,
31
- } ;
32
- }
23
+ get next ( ) {
24
+ let n = g ( ) ;
25
+ return function ( ) {
26
+ return n . next ( ) ;
27
+ } ;
33
28
}
34
29
return ( ) {
35
30
throw new Test262Error ( ) ;
Original file line number Diff line number Diff line change 3
3
/*---
4
4
esid: sec-iteratorprototype.toArray
5
5
description: >
6
- Iterator.prototype.toArray returns undefined when the iterator has already been exhausted
6
+ Iterator.prototype.toArray returns an empty array when the iterator has already been exhausted
7
7
info: |
8
8
%Iterator.prototype%.toArray ( )
9
9
You can’t perform that action at this time.
0 commit comments