| Index: test/mjsunit/es6/collections.js
|
| diff --git a/test/mjsunit/es6/collections.js b/test/mjsunit/es6/collections.js
|
| index 940c0b9d1fab8a314b071e9d5cd6d50fab4cd41d..fdaab762b448bac899e800ede0b70845a3a4672f 100644
|
| --- a/test/mjsunit/es6/collections.js
|
| +++ b/test/mjsunit/es6/collections.js
|
| @@ -691,6 +691,24 @@ for (var i = 9; i >= 0; i--) {
|
| assertEquals(4950, accumulated);
|
| })();
|
|
|
| +
|
| +(function TestSetForEachReceiverAsObject() {
|
| + var set = new Set(["1", "2"]);
|
| +
|
| + // Create a new object in each function call when receiver is a
|
| + // primitive value.
|
| + var a = [];
|
| + set.forEach(function() { a.push(this); }, "");
|
| + assertTrue(a[0] !== a[1]);
|
| +
|
| + // Do not create a new object in each function call when receiver is a
|
| + // primitive value.
|
| + a = [];
|
| + set.forEach(function() { a.push(this); }, {});
|
| + assertFalse(a[0] !== a[1]);
|
| +})();
|
| +
|
| +
|
| (function TestMapForEachInvalidTypes() {
|
| assertThrows(function() {
|
| Map.prototype.map.forEach.call({});
|
| @@ -998,6 +1016,25 @@ for (var i = 9; i >= 0; i--) {
|
| })();
|
|
|
|
|
| +(function TestMapForEachReceiverAsObject() {
|
| + var map = new Map();
|
| + map.set("key1", "value1");
|
| + map.set("key2", "value2");
|
| +
|
| + // Create a new object in each function call when receiver is a
|
| + // primitive value.
|
| + var a = [];
|
| + map.forEach(function() { a.push(this); }, "");
|
| + assertTrue(a[0] !== a[1]);
|
| +
|
| + // Do not create a new object in each function call when receiver is a
|
| + // primitive value.
|
| + a = [];
|
| + map.forEach(function() { a.push(this); }, {});
|
| + assertFalse(a[0] !== a[1]);
|
| +})();
|
| +
|
| +
|
| // Allows testing iterator-based constructors easily.
|
| var oneAndTwo = new Map();
|
| var k0 = {key: 0};
|
|
|