js/src/jit-test/tests/collections/Set-iterator-remove-1.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 // A set iterator can cope with removing the current entry.
     3 function test(letters, toRemove) {
     4     var set = Set(letters);
     5     toRemove = Set(toRemove);
     7     var leftovers = [x for (x of set) if (!toRemove.has(x))].join("");
     9     var log = "";
    10     for (let x of set) {
    11         log += x;
    12         if (toRemove.has(x))
    13             set.delete(x);
    14     }
    15     assertEq(log, letters);
    17     var remaining = [x for (x of set)].join("");
    18     assertEq(remaining, leftovers);
    19 }
    21 test('a', 'a');    // removing the only entry
    22 test('abc', 'a');  // removing the first entry
    23 test('abc', 'b');  // removing a middle entry
    24 test('abc', 'c');  // removing the last entry
    25 test('abc', 'abc') // removing all entries

mercurial