shim.js 875 B

1234567891011121314151617181920212223242526
  1. 'use strict';
  2. var SubArray = require('../../../../array/_sub-array-dummy-safe');
  3. module.exports = function (t, a) {
  4. var arr = [1, 3, 45], x = {}, subArr, subArr2, result;
  5. a.deep(t.call(arr, '2d', x, ['ere', 'fe', x], false, null),
  6. [1, 3, 45, '2d', x, 'ere', 'fe', x, false, null], "Plain array");
  7. subArr = new SubArray('lol', 'miszko');
  8. subArr2 = new SubArray('elo', 'fol');
  9. result = t.call(subArr, 'df', arr, 'fef', subArr2, null);
  10. a(result instanceof SubArray, true, "Instance of subclass");
  11. a.deep(result, ['lol', 'miszko', 'df', 1, 3, 45, 'fef', 'elo', 'fol', null],
  12. "Spreable by default");
  13. SubArray.prototype['@@isConcatSpreadable'] = false;
  14. result = t.call(subArr, 'df', arr, 'fef', subArr2, null);
  15. a.deep(result, ['lol', 'miszko', 'df', 1, 3, 45, 'fef', subArr2, null],
  16. "Non spreadable");
  17. delete SubArray.prototype['@@isConcatSpreadable'];
  18. };