js/src/jit-test/tests/for-of/semantics-07.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Deleting the .next method of an iterator in the middle of a for-of loop
     2 // causes a TypeError at the next iteration.
     4 load(libdir + "asserts.js");
     5 load(libdir + "iteration.js");
     7 var iterProto = Object.getPrototypeOf([][std_iterator]());
     8 var s = '';
     9 assertThrowsInstanceOf(function () {
    10     for (var v of ['duck', 'duck', 'duck', 'goose', 'FAIL']) {
    11         s += v;
    12         if (v === 'goose')
    13             delete iterProto.next;
    14         s += '.';
    15     }
    16 }, TypeError);
    17 assertEq(s, 'duck.duck.duck.goose.');

mercurial