| Index: test/mjsunit/harmony/collections.js
|
| diff --git a/test/mjsunit/harmony/collections.js b/test/mjsunit/harmony/collections.js
|
| index 002adaaed7c1a3e2951c201651014b6aa1531608..b33d08063d711491c1177600df5ac4f691c33ba5 100644
|
| --- a/test/mjsunit/harmony/collections.js
|
| +++ b/test/mjsunit/harmony/collections.js
|
| @@ -507,347 +507,3 @@ for (var i = 9; i >= 0; i--) {
|
| assertEquals('minus', m.get(0));
|
| assertEquals('minus', m.get(-0));
|
| })();
|
| -
|
| -
|
| -(function TestSetForEachInvalidTypes() {
|
| - assertThrows(function() {
|
| - Set.prototype.set.forEach.call({});
|
| - }, TypeError);
|
| -
|
| - var set = new Set();
|
| - assertThrows(function() {
|
| - set.forEach({});
|
| - }, TypeError);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEach() {
|
| - var set = new Set();
|
| - set.add('a');
|
| - set.add('b');
|
| - set.add('c');
|
| -
|
| - var buffer = '';
|
| - var receiver = {};
|
| - set.forEach(function(v, k, s) {
|
| - assertSame(v, k);
|
| - assertSame(set, s);
|
| - assertSame(this, receiver);
|
| - buffer += v;
|
| - if (v === 'a') {
|
| - set.delete('b');
|
| - set.add('d');
|
| - set.add('e');
|
| - set.add('f');
|
| - } else if (v === 'c') {
|
| - set.add('b');
|
| - set.delete('e');
|
| - }
|
| - }, receiver);
|
| -
|
| - assertEquals('acdfb', buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachAddAtEnd() {
|
| - var set = new Set();
|
| - set.add('a');
|
| - set.add('b');
|
| -
|
| - var buffer = '';
|
| - set.forEach(function(v) {
|
| - buffer += v;
|
| - if (v === 'b') {
|
| - set.add('c');
|
| - }
|
| - });
|
| -
|
| - assertEquals('abc', buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachDeleteNext() {
|
| - var set = new Set();
|
| - set.add('a');
|
| - set.add('b');
|
| - set.add('c');
|
| -
|
| - var buffer = '';
|
| - set.forEach(function(v) {
|
| - buffer += v;
|
| - if (v === 'b') {
|
| - set.delete('c');
|
| - }
|
| - });
|
| -
|
| - assertEquals('ab', buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachDeleteVisitedAndAddAgain() {
|
| - var set = new Set();
|
| - set.add('a');
|
| - set.add('b');
|
| - set.add('c');
|
| -
|
| - var buffer = '';
|
| - set.forEach(function(v) {
|
| - buffer += v;
|
| - if (v === 'b') {
|
| - set.delete('a');
|
| - } else if (v === 'c') {
|
| - set.add('a');
|
| - }
|
| - });
|
| -
|
| - assertEquals('abca', buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachClear() {
|
| - var set = new Set();
|
| - set.add('a');
|
| - set.add('b');
|
| - set.add('c');
|
| -
|
| - var buffer = '';
|
| - set.forEach(function(v) {
|
| - buffer += v;
|
| - if (v === 'a') {
|
| - set.clear();
|
| - set.add('d');
|
| - set.add('e');
|
| - }
|
| - });
|
| -
|
| - assertEquals('ade', buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachNested() {
|
| - var set = new Set();
|
| - set.add('a');
|
| - set.add('b');
|
| - set.add('c');
|
| -
|
| - var buffer = '';
|
| - set.forEach(function(v) {
|
| - buffer += v;
|
| - set.forEach(function(v) {
|
| - buffer += v;
|
| - if (v === 'a') {
|
| - set.delete('b');
|
| - }
|
| - });
|
| - });
|
| -
|
| - assertEquals('aaccac', buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachEarlyExit() {
|
| - var set = new Set();
|
| - set.add('a');
|
| - set.add('b');
|
| - set.add('c');
|
| -
|
| - var buffer = '';
|
| - var ex = {};
|
| - try {
|
| - set.forEach(function(v) {
|
| - buffer += v;
|
| - throw ex;
|
| - });
|
| - } catch (e) {
|
| - assertEquals(ex, e);
|
| - }
|
| - assertEquals('a', buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachGC() {
|
| - var set = new Set();
|
| - for (var i = 0; i < 100; i++) {
|
| - set.add(i);
|
| - }
|
| -
|
| - var accumulated = 0;
|
| - set.forEach(function(v) {
|
| - accumulated += v;
|
| - if (v % 10 === 0) {
|
| - gc();
|
| - }
|
| - });
|
| - assertEquals(4950, accumulated);
|
| -})();
|
| -
|
| -(function TestMapForEachInvalidTypes() {
|
| - assertThrows(function() {
|
| - Map.prototype.map.forEach.call({});
|
| - }, TypeError);
|
| -
|
| - var map = new Map();
|
| - assertThrows(function() {
|
| - map.forEach({});
|
| - }, TypeError);
|
| -})();
|
| -
|
| -
|
| -(function TestMapForEach() {
|
| - var map = new Map();
|
| - map.set(0, 'a');
|
| - map.set(1, 'b');
|
| - map.set(2, 'c');
|
| -
|
| - var buffer = [];
|
| - var receiver = {};
|
| - map.forEach(function(v, k, m) {
|
| - assertEquals(map, m);
|
| - assertEquals(this, receiver);
|
| - buffer.push(k, v);
|
| - if (k === 0) {
|
| - map.delete(1);
|
| - map.set(3, 'd');
|
| - map.set(4, 'e');
|
| - map.set(5, 'f');
|
| - } else if (k === 2) {
|
| - map.set(1, 'B');
|
| - map.delete(4);
|
| - }
|
| - }, receiver);
|
| -
|
| - assertArrayEquals([0, 'a', 2, 'c', 3, 'd', 5, 'f', 1, 'B'], buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestMapForEachAddAtEnd() {
|
| - var map = new Map();
|
| - map.set(0, 'a');
|
| - map.set(1, 'b');
|
| -
|
| - var buffer = [];
|
| - map.forEach(function(v, k) {
|
| - buffer.push(k, v);
|
| - if (k === 1) {
|
| - map.set(2, 'c');
|
| - }
|
| - });
|
| -
|
| - assertArrayEquals([0, 'a', 1, 'b', 2, 'c'], buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestMapForEachDeleteNext() {
|
| - var map = new Map();
|
| - map.set(0, 'a');
|
| - map.set(1, 'b');
|
| - map.set(2, 'c');
|
| -
|
| - var buffer = [];
|
| - map.forEach(function(v, k) {
|
| - buffer.push(k, v);
|
| - if (k === 1) {
|
| - map.delete(2);
|
| - }
|
| - });
|
| -
|
| - assertArrayEquals([0, 'a', 1, 'b'], buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestSetForEachDeleteVisitedAndAddAgain() {
|
| - var map = new Map();
|
| - map.set(0, 'a');
|
| - map.set(1, 'b');
|
| - map.set(2, 'c');
|
| -
|
| - var buffer = [];
|
| - map.forEach(function(v, k) {
|
| - buffer.push(k, v);
|
| - if (k === 1) {
|
| - map.delete(0);
|
| - } else if (k === 2) {
|
| - map.set(0, 'a');
|
| - }
|
| - });
|
| -
|
| - assertArrayEquals([0, 'a', 1, 'b', 2, 'c', 0, 'a'], buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestMapForEachClear() {
|
| - var map = new Map();
|
| - map.set(0, 'a');
|
| - map.set(1, 'b');
|
| - map.set(2, 'c');
|
| -
|
| - var buffer = [];
|
| - map.forEach(function(v, k) {
|
| - buffer.push(k, v);
|
| - if (k === 0) {
|
| - map.clear();
|
| - map.set(3, 'd');
|
| - map.set(4, 'e');
|
| - }
|
| - });
|
| -
|
| - assertArrayEquals([0, 'a', 3, 'd', 4, 'e'], buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestMapForEachNested() {
|
| - var map = new Map();
|
| - map.set(0, 'a');
|
| - map.set(1, 'b');
|
| - map.set(2, 'c');
|
| -
|
| - var buffer = [];
|
| - map.forEach(function(v, k) {
|
| - buffer.push(k, v);
|
| - map.forEach(function(v, k) {
|
| - buffer.push(k, v);
|
| - if (k === 0) {
|
| - map.delete(1);
|
| - }
|
| - });
|
| - });
|
| -
|
| - assertArrayEquals([0, 'a', 0, 'a', 2, 'c', 2, 'c', 0, 'a', 2, 'c'], buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestMapForEachEarlyExit() {
|
| - var map = new Map();
|
| - map.set(0, 'a');
|
| - map.set(1, 'b');
|
| - map.set(2, 'c');
|
| -
|
| - var buffer = [];
|
| - var ex = {};
|
| - try {
|
| - map.forEach(function(v, k) {
|
| - buffer.push(k, v);
|
| - throw ex;
|
| - });
|
| - } catch (e) {
|
| - assertEquals(ex, e);
|
| - }
|
| - assertArrayEquals([0, 'a'], buffer);
|
| -})();
|
| -
|
| -
|
| -(function TestMapForEachGC() {
|
| - var map = new Map();
|
| - for (var i = 0; i < 100; i++) {
|
| - map.set(i, i);
|
| - }
|
| -
|
| - var accumulated = 0;
|
| - map.forEach(function(v) {
|
| - accumulated += v;
|
| - if (v % 10 === 0) {
|
| - gc();
|
| - }
|
| - });
|
| - assertEquals(4950, accumulated);
|
| -})();
|
|
|