UNPKG

@api3/contracts

Version:

Contracts through which API3 services are delivered

44 lines 2.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const deep_equal_1 = require("./deep-equal"); describe('deepEqual', () => { it('primitive values', () => { expect((0, deep_equal_1.deepEqual)(1, 1)).toBe(true); expect((0, deep_equal_1.deepEqual)('hello', 'hello')).toBe(true); expect((0, deep_equal_1.deepEqual)(true, true)).toBe(true); expect((0, deep_equal_1.deepEqual)(1, '1')).toBe(false); expect((0, deep_equal_1.deepEqual)(true, 1)).toBe(false); }); it('arrays', () => { expect((0, deep_equal_1.deepEqual)([1, 2, 3], [1, 2, 3])).toBe(true); expect((0, deep_equal_1.deepEqual)([1, [2, 3]], [1, [2, 3]])).toBe(true); expect((0, deep_equal_1.deepEqual)([1, 2, 3], [1, 2, 3, 4])).toBe(false); expect((0, deep_equal_1.deepEqual)([1, [2, 3]], [1, [2, 4]])).toBe(false); }); it('objects', () => { const obj1 = { a: 1, b: { c: 2, d: { e: 3 } } }; const obj2 = { a: 1, b: { c: 2, d: { e: 3 } } }; const obj3 = { a: 1, b: { c: 2, d: { e: 4 } } }; expect((0, deep_equal_1.deepEqual)(obj1, obj2)).toBe(true); expect((0, deep_equal_1.deepEqual)(obj1, obj3)).toBe(false); }); it('objects with different key orders', () => { const obj1 = { a: 1, b: 2, c: 3 }; const obj2 = { b: 2, a: 1, c: 3 }; expect((0, deep_equal_1.deepEqual)(obj1, obj2)).toBe(true); }); it('null and undefined values', () => { expect((0, deep_equal_1.deepEqual)(null, null)).toBe(true); expect((0, deep_equal_1.deepEqual)(undefined, undefined)).toBe(true); expect((0, deep_equal_1.deepEqual)({ a: null }, { a: null })).toBe(true); expect((0, deep_equal_1.deepEqual)(null, undefined)).toBe(false); expect((0, deep_equal_1.deepEqual)({ a: null }, { a: undefined })).toBe(false); }); it('function values', () => { const func1 = () => { }; const func2 = () => { }; expect((0, deep_equal_1.deepEqual)(func1, func1)).toBe(true); expect((0, deep_equal_1.deepEqual)(func1, func2)).toBe(false); }); }); //# sourceMappingURL=deep-equal.test.js.map