| Index: test/mjsunit/harmony/collections.js
|
| diff --git a/test/mjsunit/harmony/collections.js b/test/mjsunit/harmony/collections.js
|
| index 7bf7bf70639aaee83230ed9beefbcc15ad310eb5..22a76399087225f729c7e415974529d426587743 100644
|
| --- a/test/mjsunit/harmony/collections.js
|
| +++ b/test/mjsunit/harmony/collections.js
|
| @@ -852,3 +852,50 @@ for (var i = 9; i >= 0; i--) {
|
| });
|
| assertEquals(4950, accumulated);
|
| })();
|
| +
|
| +
|
| +(function TestMapForEachAllRemovedTransition() {
|
| + var map = new Map;
|
| + map.set(0, 0);
|
| +
|
| + var buffer = [];
|
| + map.forEach(function(v) {
|
| + buffer.push(v);
|
| + if (v === 0) {
|
| + for (var i = 1; i < 4; i++) {
|
| + map.set(i, i);
|
| + }
|
| + }
|
| +
|
| + if (v === 3) {
|
| + for (var i = 0; i < 4; i++) {
|
| + map.delete(i);
|
| + }
|
| + for (var i = 4; i < 8; i++) {
|
| + map.set(i, i);
|
| + }
|
| + }
|
| + });
|
| +
|
| + assertArrayEquals([0, 1, 2, 3, 4, 5, 6, 7], buffer);
|
| +})();
|
| +
|
| +
|
| +(function TestMapForEachClearTransition() {
|
| + var map = new Map;
|
| + map.set(0, 0);
|
| +
|
| + var i = 0;
|
| + var buffer = [];
|
| + map.forEach(function(v) {
|
| + buffer.push(v);
|
| + if (++i < 5) {
|
| + for (var j = 0; j < 5; j++) {
|
| + map.clear();
|
| + map.set(i, i);
|
| + }
|
| + }
|
| + });
|
| +
|
| + assertArrayEquals([0, 1, 2, 3, 4], buffer);
|
| +})();
|
|
|