Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: test/mjsunit/array-reduce.js

Issue 87021: Array.reduce: Changed size of test to reduce running time on slower machines. (Closed)
Patch Set: Lower limit further to run in reasonable time in debug mode. Created 11 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/array-reduce.js
diff --git a/test/mjsunit/array-reduce.js b/test/mjsunit/array-reduce.js
index 12f060261c9717d8fc3a5a6c8d350aa3530c0e24..6efaebe151e3816349763faaf0d6babe0b8ef236 100755
--- a/test/mjsunit/array-reduce.js
+++ b/test/mjsunit/array-reduce.js
@@ -175,59 +175,60 @@ testReduce("reduce", "EmptySparseReduceAccumulateNoInit",
[], [], [,,[],,], accumulate);
-var verySparseArray = new Array(500000);
-verySparseArray[100000] = 2;
-verySparseArray[250000] = 4;
-verySparseArray[450000] = 6;
-var verySparseSlice2 = verySparseArray.slice(0, 100001);
-var verySparseSlice4 = verySparseArray.slice(0, 250001);
-var verySparseSlice6 = verySparseArray.slice(0, 450001);
+var verySparseArray = [];
+verySparseArray.length = 10000;
+verySparseArray[2000] = 2;
+verySparseArray[5000] = 4;
+verySparseArray[9000] = 6;
+var verySparseSlice2 = verySparseArray.slice(0, 2001);
+var verySparseSlice4 = verySparseArray.slice(0, 5001);
+var verySparseSlice6 = verySparseArray.slice(0, 9001);
testReduce("reduce", "VerySparseReduceSum", 12,
- [[0, 2, 100000, verySparseArray, 2],
- [2, 4, 250000, verySparseArray, 6],
- [6, 6, 450000, verySparseArray, 12]],
+ [[0, 2, 2000, verySparseArray, 2],
+ [2, 4, 5000, verySparseArray, 6],
+ [6, 6, 9000, verySparseArray, 12]],
verySparseArray, sum, 0);
testReduce("reduce", "VerySparseReduceProd", 48,
- [[1, 2, 100000, verySparseArray, 2],
- [2, 4, 250000, verySparseArray, 8],
- [8, 6, 450000, verySparseArray, 48]],
+ [[1, 2, 2000, verySparseArray, 2],
+ [2, 4, 5000, verySparseArray, 8],
+ [8, 6, 9000, verySparseArray, 48]],
verySparseArray, prod, 1);
testReduce("reduce", "VerySparseReduceDec", Infinity,
- [[0, 2, 100000, verySparseArray, Infinity],
- [Infinity, 4, 250000, verySparseArray, Infinity],
- [Infinity, 6, 450000, verySparseArray, Infinity]],
+ [[0, 2, 2000, verySparseArray, Infinity],
+ [Infinity, 4, 5000, verySparseArray, Infinity],
+ [Infinity, 6, 9000, verySparseArray, Infinity]],
verySparseArray, dec, 0);
-testReduce("reduce", "SimpleSparseReduceAccumulate",
+testReduce("reduce", "VerySparseReduceAccumulate",
verySparseSlice6,
- [[[], 2, 100000, verySparseArray, verySparseSlice2],
- [verySparseSlice2, 4, 250000, verySparseArray, verySparseSlice4],
- [verySparseSlice4, 6, 450000, verySparseArray, verySparseSlice6]],
+ [[[], 2, 2000, verySparseArray, verySparseSlice2],
+ [verySparseSlice2, 4, 5000, verySparseArray, verySparseSlice4],
+ [verySparseSlice4, 6, 9000, verySparseArray, verySparseSlice6]],
verySparseArray, accumulate, []);
testReduce("reduce", "VerySparseReduceSumNoInit", 12,
- [[2, 4, 250000, verySparseArray, 6],
- [6, 6, 450000, verySparseArray, 12]],
+ [[2, 4, 5000, verySparseArray, 6],
+ [6, 6, 9000, verySparseArray, 12]],
verySparseArray, sum);
testReduce("reduce", "VerySparseReduceProdNoInit", 48,
- [[2, 4, 250000, verySparseArray, 8],
- [8, 6, 450000, verySparseArray, 48]],
+ [[2, 4, 5000, verySparseArray, 8],
+ [8, 6, 9000, verySparseArray, 48]],
verySparseArray, prod);
testReduce("reduce", "VerySparseReduceDecNoInit", Infinity,
- [[2, 4, 250000, verySparseArray, Infinity],
- [Infinity, 6, 450000, verySparseArray, Infinity]],
+ [[2, 4, 5000, verySparseArray, Infinity],
+ [Infinity, 6, 9000, verySparseArray, Infinity]],
verySparseArray, dec);
testReduce("reduce", "SimpleSparseReduceAccumulateNoInit",
2,
- [[2, 4, 250000, verySparseArray, 2],
- [2, 6, 450000, verySparseArray, 2]],
+ [[2, 4, 5000, verySparseArray, 2],
+ [2, 6, 9000, verySparseArray, 2]],
verySparseArray, accumulate);
@@ -306,59 +307,59 @@ testReduce("reduceRight", "EmptySparseReduceRightAccumulateNoInit",
[], [], [,,[],,], accumulate);
-var verySparseSuffix6 = new Array(450001);
-verySparseSuffix6[450000] = 6;
-var verySparseSuffix4 = new Array(450001);
-verySparseSuffix4[250000] = 4;
-verySparseSuffix4[450000] = 6;
+var verySparseSuffix6 = [];
+verySparseSuffix6[9000] = 6;
+var verySparseSuffix4 = [];
+verySparseSuffix4[5000] = 4;
+verySparseSuffix4[9000] = 6;
var verySparseSuffix2 = verySparseSlice6;
testReduce("reduceRight", "VerySparseReduceRightSum", 12,
- [[0, 6, 450000, verySparseArray, 6],
- [6, 4, 250000, verySparseArray, 10],
- [10, 2, 100000, verySparseArray, 12]],
+ [[0, 6, 9000, verySparseArray, 6],
+ [6, 4, 5000, verySparseArray, 10],
+ [10, 2, 2000, verySparseArray, 12]],
verySparseArray, sum, 0);
testReduce("reduceRight", "VerySparseReduceRightProd", 48,
- [[1, 6, 450000, verySparseArray, 6],
- [6, 4, 250000, verySparseArray, 24],
- [24, 2, 100000, verySparseArray, 48]],
+ [[1, 6, 9000, verySparseArray, 6],
+ [6, 4, 5000, verySparseArray, 24],
+ [24, 2, 2000, verySparseArray, 48]],
verySparseArray, prod, 1);
testReduce("reduceRight", "VerySparseReduceRightDec", Infinity,
- [[0, 6, 450000, verySparseArray, Infinity],
- [Infinity, 4, 250000, verySparseArray, Infinity],
- [Infinity, 2, 100000, verySparseArray, Infinity]],
+ [[0, 6, 9000, verySparseArray, Infinity],
+ [Infinity, 4, 5000, verySparseArray, Infinity],
+ [Infinity, 2, 2000, verySparseArray, Infinity]],
verySparseArray, dec, 0);
-testReduce("reduceRight", "SimpleSparseReduceRightAccumulate",
+testReduce("reduceRight", "VerySparseReduceRightAccumulate",
verySparseSuffix2,
- [[[], 6, 450000, verySparseArray, verySparseSuffix6],
- [verySparseSuffix6, 4, 250000, verySparseArray, verySparseSuffix4],
- [verySparseSuffix4, 2, 100000, verySparseArray, verySparseSuffix2]],
+ [[[], 6, 9000, verySparseArray, verySparseSuffix6],
+ [verySparseSuffix6, 4, 5000, verySparseArray, verySparseSuffix4],
+ [verySparseSuffix4, 2, 2000, verySparseArray, verySparseSuffix2]],
verySparseArray, accumulate, []);
testReduce("reduceRight", "VerySparseReduceRightSumNoInit", 12,
- [[6, 4, 250000, verySparseArray, 10],
- [10, 2, 100000, verySparseArray, 12]],
+ [[6, 4, 5000, verySparseArray, 10],
+ [10, 2, 2000, verySparseArray, 12]],
verySparseArray, sum);
testReduce("reduceRight", "VerySparseReduceRightProdNoInit", 48,
- [[6, 4, 250000, verySparseArray, 24],
- [24, 2, 100000, verySparseArray, 48]],
+ [[6, 4, 5000, verySparseArray, 24],
+ [24, 2, 2000, verySparseArray, 48]],
verySparseArray, prod);
testReduce("reduceRight", "VerySparseReduceRightDecNoInit", Infinity,
- [[6, 4, 250000, verySparseArray, Infinity],
- [Infinity, 2, 100000, verySparseArray, Infinity]],
+ [[6, 4, 5000, verySparseArray, Infinity],
+ [Infinity, 2, 2000, verySparseArray, Infinity]],
verySparseArray, dec);
testReduce("reduceRight", "SimpleSparseReduceRightAccumulateNoInit",
6,
- [[6, 4, 250000, verySparseArray, 6],
- [6, 2, 100000, verySparseArray, 6]],
+ [[6, 4, 5000, verySparseArray, 6],
+ [6, 2, 2000, verySparseArray, 6]],
verySparseArray, accumulate);
@@ -385,6 +386,22 @@ testReduce("reduceRight", "SparseUndefinedReduceRightAddNoInit", NaN,
], undefArray, sum);
+// Ignore non-array properties:
+
+var arrayPlus = [1,2,,3];
+arrayPlus[-1] = NaN;
+arrayPlus[Math.pow(2,32)] = NaN;
+arrayPlus[NaN] = NaN;
+arrayPlus["00"] = NaN;
+arrayPlus["02"] = NaN;
+arrayPlus["-0"] = NaN;
+
+testReduce("reduce", "ArrayWithNonElementPropertiesReduce", 6,
+ [[0, 1, 0, arrayPlus, 1],
+ [1, 2, 1, arrayPlus, 3],
+ [3, 3, 3, arrayPlus, 6],
+ ], arrayPlus, sum, 0);
+
// Test error conditions
try {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698