BackwardsGraph needs to consider back edges as the backward's root successor
[WebKit-https.git] / JSTests / es6 / destructuring_iterator_closing.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 closed = false;
24 var iter = global.__createIterableObject([1, 2, 3], {
25   'return': function(){ closed = true; return {}; }
26 });
27 var [a, b] = iter;
28 return closed;
29       
30 }
31
32 if (!test())
33     throw new Error("Test failed");
34