blob: 3a940a3c346e31a3559e2cbdfe51166161d03d5f [file] [log] [blame]
ggaren@apple.com3e090782016-04-14 17:56:31 +00001var global = this;
2
3function __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
ggaren@apple.com961dc372015-09-04 02:39:20 +000021function test() {
22
23var result = "";
24var iterable = global.__createIterableObject([1, 2, 3]);
25for (var item of iterable) {
26 result += item;
27}
28return result === "123";
29
30}
31
32if (!test())
33 throw new Error("Test failed");
34