isObject,
isUndefined,
isValidTime,
+ once,
roundTo,
secureRandom,
sleep,
it('Verify sleep()', async () => {
const start = performance.now();
await sleep(1000);
- const end = performance.now();
- expect(end - start).toBeGreaterThanOrEqual(1000);
+ const stop = performance.now();
+ expect(stop - start).toBeGreaterThanOrEqual(1000);
});
it('Verify formatDurationMilliSeconds()', () => {
expect(() => convertToDate('00:70:61')).toThrowError(
new Error("Cannot convert to date: '00:70:61'"),
);
- expect(convertToDate('0')).toStrictEqual(new Date('1999-12-31T23:00:00.000Z'));
- expect(convertToDate('-1')).toStrictEqual(new Date('2000-12-31T23:00:00.000Z'));
expect(convertToDate(0)).toStrictEqual(new Date('1970-01-01T00:00:00.000Z'));
expect(convertToDate(-1)).toStrictEqual(new Date('1969-12-31T23:59:59.999Z'));
const dateStr = '2020-01-01T00:00:00.000Z';
expect(isArraySorted<number>([1, 2, 3, 5, 4], (a, b) => a - b)).toBe(false);
expect(isArraySorted<number>([2, 1, 3, 4, 5], (a, b) => a - b)).toBe(false);
});
+
+ it('Verify once()', () => {
+ let called = 0;
+ const fn = () => ++called;
+ const onceFn = once(fn, this);
+ const result1 = onceFn();
+ expect(called).toBe(1);
+ expect(result1).toBe(1);
+ const result2 = onceFn();
+ expect(called).toBe(1);
+ expect(result2).toBe(1);
+ const result3 = onceFn();
+ expect(called).toBe(1);
+ expect(result3).toBe(1);
+ });
});