semantics-01.js (571B)
1 // for-of is defined in terms of basic operations on objects, particularly 2 // [[Get]] for properties named "iterator" and "next", and [[Call]]. These 3 // "semantics" tests check that for-of really does appear to be implemented in 4 // terms of those more basic operations, as required by the spec, even in 5 // unusual cases. 6 7 // Deleting Array.prototype.iterator makes for-of stop working on arrays. 8 9 load(libdir + "asserts.js"); 10 load(libdir + "iteration.js"); 11 12 delete Array.prototype[Symbol.iterator]; 13 assertThrowsInstanceOf(function () { for (var x of []) ; }, TypeError);