semantics-02.js (326B)
1 // Replacing Array.prototype.iterator with something non-callable makes for-of throw. 2 3 load(libdir + "asserts.js"); 4 load(libdir + "iteration.js"); 5 6 function test(v) { 7 Array.prototype[Symbol.iterator] = v; 8 assertThrowsInstanceOf(function () { for (var x of []) ; }, TypeError); 9 } 10 test(undefined); 11 test(null); 12 test({});