tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

for-of-iterator-close.js (773B)


      1 // SKIP test262 export
      2 // https://github.com/tc39/ecma262/pull/2193
      3 // Tests that IteratorReturn is called when a for-of loop has an abrupt
      4 // completion value during non-iterator code.
      5 
      6 function test() {
      7    var returnCalled = 0;
      8    var returnCalledExpected = 0;
      9    var iterable = {};
     10    iterable[Symbol.iterator] = makeIterator({
     11        ret: function() {
     12            returnCalled++;
     13            return {};
     14        }
     15    });
     16 
     17    // throw in lhs ref calls iter.return
     18    function throwlhs() {
     19        throw "in lhs";
     20    }
     21    assertThrowsValue(function() {
     22        for ((throwlhs()) of iterable)
     23            continue;
     24    }, "in lhs");
     25    assertEq(returnCalled, ++returnCalledExpected);
     26 }
     27 
     28 test();
     29 
     30 if (typeof reportCompare === "function")
     31    reportCompare(0, 0);