UNPKG

@v4fire/core

Version:
69 lines (55 loc) 1.48 kB
/* eslint-disable @typescript-eslint/typedef, @typescript-eslint/restrict-plus-operands */ /*! * V4Fire Core * https://github.com/V4Fire/Core * * Released under the MIT license * https://github.com/V4Fire/Core/blob/master/LICENSE */ describe('core/prelude/object/metrics/size', () => { it('array', () => { expect(Object.size([1, 2, 3])).toBe(3); }); it('object', () => { expect(Object.size({a: 1})).toBe(1); }); it('map', () => { expect(Object.size(new Map([[0, 1]]))).toBe(1); }); it('set', () => { expect(Object.size(new Set([1, 2]))).toBe(2); }); it('function', () => { expect(Object.size(foo)).toBe(2); function foo(a, b) { return a + b; } }); it('string', () => { expect(Object.size('123')).toBe(3); }); it('number', () => { expect(Object.size(2)).toBe(2); expect(Object.size(NaN)).toBe(0); expect(Object.size(Infinity)).toBe(Infinity); }); it('iterable', () => { expect(Object.size([1, 2].values())).toBe(2); }); it('null', () => { expect(Object.size(null)).toBe(0); expect(Object.size(undefined)).toBe(0); }); }); describe('core/prelude/object/metrics/isEmpty', () => { it('is empty', () => { expect(Object.isEmpty([])).toBe(true); expect(Object.isEmpty({})).toBe(true); expect(Object.isEmpty(null)).toBe(true); }); it('is not empty', () => { expect(Object.isEmpty([1])).toBe(false); expect(Object.isEmpty(new Set([1, 2]))).toBe(false); expect(Object.isEmpty(1)).toBe(false); }); });