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

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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