ts-prime
Version:
A utility library for JavaScript and Typescript.
34 lines (33 loc) • 1.29 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var flatten_1 = require("./flatten");
var pipe_1 = require("./pipe");
var find_1 = require("./find");
var _counter_1 = require("./_counter");
test('flatten', function () {
expect(flatten_1.flatten([[1, 2], 3, [4, 5]])).toEqual([1, 2, 3, 4, 5]);
});
test('nested', function () {
expect(flatten_1.flatten([
[1, 2],
[[3], [4, 5]],
])).toEqual([1, 2, [3], [4, 5]]);
});
describe('pipe', function () {
test('flatten multiple values', function () {
var result = pipe_1.pipe([[1, 2], 3, [4, 5]], flatten_1.flatten());
expect(result).toEqual([1, 2, 3, 4, 5]);
});
test('flatten single value', function () {
var result = pipe_1.pipe([[1]], flatten_1.flatten());
expect(result).toEqual([1]);
});
test('with find', function () {
var counter1 = _counter_1.createCounter();
var counter2 = _counter_1.createCounter();
var result = pipe_1.pipe([[1, 2], 3, [4, 5]], counter1.fn(), flatten_1.flatten(), counter2.fn(), find_1.find(function (x) { return x - 1 === 2; }));
expect(counter1.count).toHaveBeenCalledTimes(2);
expect(counter2.count).toHaveBeenCalledTimes(3);
expect(result).toEqual(3);
});
});