summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/array-constructor.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/array-constructor.js')
-rw-r--r--deps/v8/test/mjsunit/array-constructor.js51
1 files changed, 14 insertions, 37 deletions
diff --git a/deps/v8/test/mjsunit/array-constructor.js b/deps/v8/test/mjsunit/array-constructor.js
index c9707b9654..94f444c051 100644
--- a/deps/v8/test/mjsunit/array-constructor.js
+++ b/deps/v8/test/mjsunit/array-constructor.js
@@ -1,29 +1,6 @@
// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
var loop_count = 5
@@ -84,26 +61,26 @@ function innerArrayLiteral(n) {
return a.join();
}
-
-function testConstructOfSizeSize(n) {
- var str = innerArrayLiteral(n);
- var a = eval('[' + str + ']');
- var b = eval('new Array(' + str + ')')
- var c = eval('Array(' + str + ')')
- assertEquals(n, a.length);
+function testConstruction(len, elements_str) {
+ var a = eval('[' + elements_str + ']');
+ var b = eval('new Array(' + elements_str + ')')
+ var c = eval('Array(' + elements_str + ')')
+ assertEquals(len, a.length);
assertArrayEquals(a, b);
assertArrayEquals(a, c);
}
-
for (var i = 0; i < loop_count; i++) {
- // JSObject::kInitialMaxFastElementArray is 10000.
- for (var j = 1000; j < 12000; j += 1000) {
- testConstructOfSizeSize(j);
+ const N = 2000;
+ const literal = innerArrayLiteral(N);
+ let str = literal;
+ // JSObject::kInitialMaxFastElementArray is approximately 10000.
+ for (var j = N; j <= 12000; j += N) {
+ testConstruction(j, str);
+ str += ", " + literal;
}
}
-
for (var i = 0; i < loop_count; i++) {
assertArrayEquals(['xxx'], new Array('xxx'));
assertArrayEquals(['xxx'], Array('xxx'));