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
28
29
| "use strict";
|
| var isConcatSpreadable = require("es6-symbol").isConcatSpreadable
| , SubArray = require("../../../../array/_sub-array-dummy-safe");
|
| module.exports = function (t, a) {
| var arr = [1, 3, 45], x = {}, subArr, subArr2, result;
|
| a.deep(
| t.call(arr, "2d", x, ["ere", "fe", x], false, null),
| [1, 3, 45, "2d", x, "ere", "fe", x, false, null], "Plain array"
| );
|
| subArr = new SubArray("lol", "miszko");
| subArr2 = new SubArray("elo", "fol");
|
| result = t.call(subArr, "df", arr, "fef", subArr2, null);
| a(result instanceof SubArray, true, "Instance of subclass");
| a.deep(
| result, ["lol", "miszko", "df", 1, 3, 45, "fef", "elo", "fol", null], "Spreable by default"
| );
|
| SubArray.prototype[isConcatSpreadable] = false;
|
| result = t.call(subArr, "df", arr, "fef", subArr2, null);
| a.deep(result, [subArr, "df", 1, 3, 45, "fef", subArr2, null], "Non spreadable");
|
| delete SubArray.prototype[isConcatSpreadable];
| };
|
|