js/src/jit-test/tests/collections/Set-iterator-remove-1.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:b35963ba6896
1 // A set iterator can cope with removing the current entry.
2
3 function test(letters, toRemove) {
4 var set = Set(letters);
5 toRemove = Set(toRemove);
6
7 var leftovers = [x for (x of set) if (!toRemove.has(x))].join("");
8
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);
16
17 var remaining = [x for (x of set)].join("");
18 assertEq(remaining, leftovers);
19 }
20
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
26

mercurial