js/src/jit-test/tests/for-of/value-done-access.js

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 // Test that each yield* loop just checks "done", and "value" is only
     2 // fetched once at the end.
     4 load(libdir + 'iteration.js');
     6 var log = "";
     8 function Iter(val, count) {
     9     function next() {
    10         return {
    11             get done() { log += "d"; return count-- == 0; },
    12             get value() { log += "v"; return val; }
    13         }
    14     }
    16     this[std_iterator] = function() { return this; };
    17     this.next = next;
    18 }
    20 for (var x of new Iter(42, 5))
    21     assertEq(x, 42);
    23 assertEq(log, "dvdvdvdvdvd");

mercurial