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 // Basic for-of test with Proxy whose iterator method is a generator.
3 var arr = ['a', 'b', 'c', 'd'];
4 var proxy = Proxy.create({
5 getPropertyDescriptor: function (name) {
6 if (name == 'iterator') {
7 return {
8 configurable: false,
9 enumerable: false,
10 writeable: false,
11 value: function () {
12 for (var i = 0; i < arr.length; i++)
13 yield arr[i];
14 }
15 };
16 }
18 // Otherwise, inherit the property from arr.
19 for (var obj = arr; obj; obj = Object.getPrototypeOf(obj)) {
20 var desc = Object.getOwnPropertyDescriptor(obj, name);
21 if (desc)
22 return desc;
23 }
24 return undefined;
25 }
26 });
28 for (var i = 0; i < 2; i++)
29 assertEq([v for (v of proxy)].join(","), "a,b,c,d");