Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 // for-of on a proxy causes a predictable sequence of trap calls.
3 load(libdir + "iteration.js");
5 var s = '';
7 var i = 0;
8 var next_fn = Proxy.createFunction({}, function () {
9 s += "n";
10 if (i == 3)
11 return { value: undefined, done: true };
12 return { value: i++, done: false };
13 });
15 var it = Proxy.create({
16 get: function (receiver, name) {
17 if (name == 'toSource') {
18 s += '?';
19 return function () 'it';
20 }
21 assertEq(name, "next");
22 s += "N";
23 return next_fn;
24 }
25 });
27 var iterator_fn = Proxy.createFunction({}, function () {
28 s += 'i';
29 return it;
30 });
32 var obj = Proxy.create({
33 get: function (receiver, name) {
34 assertEq(name, std_iterator);
35 s += "I";
36 return iterator_fn;
37 }
38 });
40 for (var v of obj)
41 s += v;
43 assertEq(s, 'IiNn0Nn1Nn2Nn');