summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/Array/prototype/concat/Array.prototype.concat_sloppy-arguments.js
blob: 1027774fde563db395aee28347c65f0533ff2f8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright (c) 2014 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.


/*---
esid: sec-array.prototype.concat
description: Array.prototype.concat sloppy arguments
includes: [compareArray.js]
features: [Symbol.isConcatSpreadable]
---*/
var args = (function(a, b, c) {
  return arguments;
})(1, 2, 3);
args[Symbol.isConcatSpreadable] = true;
assert.compareArray([].concat(args, args), [1, 2, 3, 1, 2, 3],
  '[].concat((function(a, b, c) {return arguments;})(1, 2, 3), (function(a, b, c) {return arguments;})(1, 2, 3)) must return [1, 2, 3, 1, 2, 3]'
);

Object.defineProperty(args, "length", {
  value: 6
});
assert.compareArray([].concat(args), [1, 2, 3, void 0, void 0, void 0],
  '[].concat((function(a, b, c) {return arguments;})(1, 2, 3)) must return [1, 2, 3, void 0, void 0, void 0]'
);

reportCompare(0, 0);