| 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
 | | "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]; |  | }; | 
 |