// Basic for-of test with Proxy whose iterator method is a generator.

var arr = ['a', 'b', 'c', 'd'];
var proxy = new Proxy(arr, {
    get(target, property, receiver) {
        if (property === Symbol.iterator) {
            return function* () {
                for (var i = 0; i < arr.length; i++)
                    yield arr[i];
            }
        }

        return Reflect.get(target, property, receiver);
    }
});

for (var i = 0; i < 2; i++)
    assertEq([...proxy].join(","), "a,b,c,d");