text: // 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]);
  })();
  