]> git.r.bdr.sh - rbdr/dotfiles/blob - atom/packages/vim-mode/node_modules/grim/node_modules/emissary/node_modules/es6-weak-map/node_modules/es5-ext/test/array/#/concat/shim.js
c30eb7eab0817883fac17896739084f5a8714bab
[rbdr/dotfiles] / atom / packages / vim-mode / node_modules / grim / node_modules / emissary / node_modules / es6-weak-map / node_modules / es5-ext / test / array / # / concat / shim.js
1 'use strict';
2
3 var SubArray = require('../../../../array/_sub-array-dummy-safe');
4
5 module.exports = function (t, a) {
6 var arr = [1, 3, 45], x = {}, subArr, subArr2, result;
7
8 a.deep(t.call(arr, '2d', x, ['ere', 'fe', x], false, null),
9 [1, 3, 45, '2d', x, 'ere', 'fe', x, false, null], "Plain array");
10
11 subArr = new SubArray('lol', 'miszko');
12 subArr2 = new SubArray('elo', 'fol');
13
14 result = t.call(subArr, 'df', arr, 'fef', subArr2, null);
15 a(result instanceof SubArray, true, "Instance of subclass");
16 a.deep(result, ['lol', 'miszko', 'df', 1, 3, 45, 'fef', 'elo', 'fol', null],
17 "Spreable by default");
18
19 SubArray.prototype['@@isConcatSpreadable'] = false;
20
21 result = t.call(subArr, 'df', arr, 'fef', subArr2, null);
22 a.deep(result, ['lol', 'miszko', 'df', 1, 3, 45, 'fef', subArr2, null],
23 "Non spreadable");
24
25 delete SubArray.prototype['@@isConcatSpreadable'];
26 };