UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

61 lines 1.5 kB
import deepMerge from "."; describe("deepMerge", function () { it("returns objB when objA equals objB", function () { var obj = { a: 1 }; expect(deepMerge(obj, obj)).toBe(obj); }); it("returns objB when objA is null", function () { var objB = { a: 1 }; expect(deepMerge(null, objB)).toBe(objB); }); it("returns objB when objB is null", function () { var objA = { a: 1 }; expect(deepMerge(objA, null)).toBeNull(); }); it("returns objB when objA is not an object", function () { expect(deepMerge("string", { a: 1 })).toEqual({ a: 1 }); expect(deepMerge(42, { a: 1 })).toEqual({ a: 1 }); }); it("returns objB when objB is not an object", function () { expect(deepMerge({ a: 1 }, "string")).toBe("string"); expect(deepMerge({ a: 1 }, 42)).toBe(42); }); it("detects implementation bug in deepMergeObject", function () { // This test documents that deepMergeObject doesn't return its result var objA = { a: 1, b: 2 }; var objB = { b: 3, c: 4 }; var result = deepMerge(objA, objB); expect(result).toBeUndefined(); }); it("detects implementation bug in deepMergeArray", function () { // This test documents current behavior - arrays return original arrA var arrA = [1, 2, 3]; var arrB = [4, 5]; var result = deepMerge(arrA, arrB); expect(result).toEqual([1, 2, 3]); }); });