/
TON618OFF
/
FinalPWHTML
Обзор
Документация
Войти
/
TON618OFF
/
FinalPWHTML
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/object.groupby/test/tests.js
62 строки
1 KB
TON618OFF
не ну это ваще
23 июн 2024, 00:30
23 июн 2024, 00:30
e27ae20
Код
Авторство
О чём код?
'use strict'; var inspect = require('object-inspect'); var forEach = require('for-each'); var v = require('es-value-fixtures'); module.exports = function (groupBy, t) { t.test('callback function', function (st) { forEach(v.nonFunctions, function (nonFunction) { st['throws']( function () { groupBy([], nonFunction); }, TypeError, inspect(nonFunction) + ' is not a function' ); }); st.end(); }); t.test('grouping', function (st) { st.deepEqual( groupBy([], function () { return 'a'; }), { __proto__: null }, 'an empty array produces an empty object' ); var arr = [0, -0, 1, 2, 3, 4, 5, NaN, Infinity, -Infinity]; var parity = function (x) { if (x !== x) { return void undefined; } if (!isFinite(x)) { return '∞'; } return x % 2 === 0 ? 'even' : 'odd'; }; var grouped = { __proto__: null, even: [0, -0, 2, 4], odd: [1, 3, 5], undefined: [NaN], '∞': [Infinity, -Infinity] }; st.deepEqual( groupBy(arr, parity), grouped, inspect(arr) + ' group by parity groups to ' + inspect(grouped) ); st.deepEqual( groupBy(arr, function (x, i) { st.equal(this, undefined, 'receiver is as expected'); // eslint-disable-line no-invalid-this st.equal(x, arr[i], 'second argument ' + i + ' is ' + inspect(arr[i])); return 42; }), { __proto__: null, 42: arr }, 'thisArg and callback arguments are as expected' ); st.end(); }); };