Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
michael@0 | 1 | // for-of is defined in terms of basic operations on objects, particularly |
michael@0 | 2 | // [[Get]] for properties named "iterator" and "next", and [[Call]]. These |
michael@0 | 3 | // "semantics" tests check that for-of really does appear to be implemented in |
michael@0 | 4 | // terms of those more basic operations, as required by the spec, even in |
michael@0 | 5 | // unusual cases. |
michael@0 | 6 | |
michael@0 | 7 | // Deleting Array.prototype.iterator makes for-of stop working on arrays. |
michael@0 | 8 | |
michael@0 | 9 | load(libdir + "asserts.js"); |
michael@0 | 10 | load(libdir + "iteration.js"); |
michael@0 | 11 | |
michael@0 | 12 | delete Array.prototype[std_iterator]; |
michael@0 | 13 | assertThrowsInstanceOf(function () { for (var x of []) ; }, TypeError); |