BackwardsGraph needs to consider back edges as the backward's root successor
[WebKit-https.git] / JSTests / es6 / for..of_loops_with_instances_of_generic_iterables.js
1 var global = this;
2
3 function __createIterableObject(arr, methods) {
4   methods = methods || {};
5   if (typeof Symbol !== 'function' || !Symbol.iterator) {
6     return {};
7   }
8   arr.length++;
9   var iterator = {
10     next: function() {
11       return { value: arr.shift(), done: arr.length <= 0 };
12     },
13     'return': methods['return'],
14     'throw': methods['throw']
15   };
16   var iterable = {};
17   iterable[Symbol.iterator] = function(){ return iterator; }
18   return iterable;
19 }
20
21 function test() {
22
23 var result = "";
24 var iterable = global.__createIterableObject([1, 2, 3]);
25 for (var item of Object.create(iterable)) {
26   result += item;
27 }
28 return result === "123";
29       
30 }
31
32 if (!test())
33     throw new Error("Test failed");
34