-1:000000000000 | 0:c12b86a52d3a |
---|---|
1 // Giving an Array an own .iterator property affects for-of. | |
2 | |
3 load(libdir + "asserts.js"); | |
4 load(libdir + "iteration.js"); | |
5 | |
6 var a = []; | |
7 a[std_iterator] = function* () { | |
8 yield 'o'; | |
9 yield 'k'; | |
10 }; | |
11 var s = ''; | |
12 for (var v of a) | |
13 s += v; | |
14 assertEq(s, 'ok'); | |
15 | |
16 a[std_iterator] = undefined; | |
17 assertThrowsInstanceOf(function () { for (var v of a) ; }, TypeError); |