Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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); |