59 lines
1.5 KiB
JavaScript
59 lines
1.5 KiB
JavaScript
|
// Copyright 2016 the V8 project authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
(function testSmiArrayConcat() {
|
||
|
var result = [].concat([-12]);
|
||
|
|
||
|
assertEquals(1, result.length);
|
||
|
assertEquals([-12], result);
|
||
|
})();
|
||
|
|
||
|
(function testDoubleArrayConcat() {
|
||
|
var result = [].concat([-1073741825]);
|
||
|
|
||
|
assertEquals(1, result.length);
|
||
|
assertEquals([-1073741825], result);
|
||
|
})();
|
||
|
|
||
|
(function testSmiArrayNonConcatSpreadable() {
|
||
|
var array = [-10];
|
||
|
array[Symbol.isConcatSpreadable] = false;
|
||
|
var result = [].concat(array);
|
||
|
|
||
|
assertEquals(1, result.length);
|
||
|
assertEquals(1, result[0].length);
|
||
|
assertEquals([-10], result[0]);
|
||
|
})();
|
||
|
|
||
|
(function testDoubleArrayNonConcatSpreadable() {
|
||
|
var array = [-1073741825];
|
||
|
array[Symbol.isConcatSpreadable] = false;
|
||
|
var result = [].concat(array);
|
||
|
|
||
|
assertEquals(1, result.length);
|
||
|
assertEquals(1, result[0].length);
|
||
|
assertEquals([-1073741825], result[0]);
|
||
|
})();
|
||
|
|
||
|
Array.prototype[Symbol.isConcatSpreadable] = false;
|
||
|
|
||
|
|
||
|
(function testSmiArray() {
|
||
|
var result = [].concat([-12]);
|
||
|
|
||
|
assertEquals(2, result.length);
|
||
|
assertEquals(0, result[0].length);
|
||
|
assertEquals(1, result[1].length);
|
||
|
assertEquals([-12], result[1]);
|
||
|
})();
|
||
|
|
||
|
(function testDoubleArray() {
|
||
|
var result = [].concat([-1073741825]);
|
||
|
|
||
|
assertEquals(2, result.length);
|
||
|
assertEquals(0, result[0].length);
|
||
|
assertEquals(1, result[1].length);
|
||
|
assertEquals([-1073741825], result[1]);
|
||
|
})();
|