js/src/jit-test/tests/for-of/value-done-access.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:5022e6be9f52
1 // Test that each yield* loop just checks "done", and "value" is only
2 // fetched once at the end.
3
4 load(libdir + 'iteration.js');
5
6 var log = "";
7
8 function Iter(val, count) {
9 function next() {
10 return {
11 get done() { log += "d"; return count-- == 0; },
12 get value() { log += "v"; return val; }
13 }
14 }
15
16 this[std_iterator] = function() { return this; };
17 this.next = next;
18 }
19
20 for (var x of new Iter(42, 5))
21 assertEq(x, 42);
22
23 assertEq(log, "dvdvdvdvdvd");

mercurial