Sha256: 0b5f4df0c289d561d528d25ecda4ef0e788fbcd594912bb981f494fb937dfefb

Contents?: true

Size: 1.33 KB

Versions: 61

Compression:

Stored size: 1.33 KB

Contents

'use strict';

var testArray = function testArray(t, actual, expected, msg) {
	t.deepEqual(actual, expected, msg);
	t.equal(actual.length, expected.length, 'expected ' + expected.length + ', got ' + actual.length);
};

module.exports = function (flat, t) {
	t.test('flattens', function (st) {
		testArray(st, flat([1, [2], [[3]], [[['four']]]]), [1, 2, [3], [['four']]], 'missing depth only flattens 1 deep');

		testArray(st, flat([1, [2], [[3]], [[['four']]]], 1), [1, 2, [3], [['four']]], 'depth of 1 only flattens 1 deep');
		st.notDeepEqual(flat([1, [2], [[3]], [[['four']]]], 1), [1, 2, 3, ['four']], 'depth of 1 only flattens 1 deep: sanity check');

		testArray(st, flat([1, [2], [[3]], [[['four']]]], 2), [1, 2, 3, ['four']], 'depth of 2 only flattens 2 deep');
		st.notDeepEqual(flat([1, [2], [[3]], [[['four']]]], 2), [1, 2, 3, 'four'], 'depth of 2 only flattens 2 deep: sanity check');

		testArray(st, flat([1, [2], [[3]], [[['four']]]], 3), [1, 2, 3, 'four'], 'depth of 3 only flattens 3 deep');
		testArray(st, flat([1, [2], [[3]], [[['four']]]], Infinity), [1, 2, 3, 'four'], 'depth of Infinity flattens all the way');

		st.end();
	});

	t.test('sparse arrays', function (st) {
		// eslint-disable-next-line no-sparse-arrays
		st.deepEqual(flat([, [1]]), flat([[], [1]]), 'an array hole is treated the same as an empty array');

		st.end();
	});
};

Version data entries

61 entries across 61 versions & 3 rubygems

Version Path
immosquare-cleaner-0.1.68 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.67 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.66 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.65 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.64 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.63 node_modules/array.prototype.flat/test/tests.js
rapid_stack-0.2.0 templates/frontend/node_modules/array.prototype.flat/test/tests.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/array.prototype.flat/test/tests.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.62 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.61 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.60 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.59 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.58 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.57 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.56 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.55 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.54 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.53 node_modules/array.prototype.flat/test/tests.js
immosquare-cleaner-0.1.52 node_modules/array.prototype.flat/test/tests.js