UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

127 lines (96 loc) 2.33 kB
import { isEqual } from "../.."; describe("isEqual - byValue", () => { describe("primitive value", () => { it("equals", () => { const prev = { prop_1: 1, }; const next = { prop_1: 1, }; const byValue = ["prop_1"]; expect(isEqual({ byValue })(prev, next)).toBe(true); }); it("equals", () => { const prop_2 = [1, 2, 3]; const prev = { prop_1: 1, prop_2, }; const next = { prop_1: 1, prop_2, }; const byValue = ["prop_1"]; const byReference = ["prop_2"]; expect(isEqual({ byValue, byReference })(prev, next)).toBe(true); }); it("not equals", () => { const prev = { prop_1: 1, }; const next = { prop_1: 2, }; const byValue = ["prop_1"]; expect(isEqual({ byValue })(prev, next)).toBe(false); }); it("not equals", () => { const prev = { prop_1: 1, }; const next = { prop_1: undefined, }; const byValue = ["prop_1"]; expect(isEqual({ byValue })(prev, next)).toBe(false); }); it("not equals", () => { const prev = { prop_1: 1, prop_2: [1, 2, 3], }; const next = { prop_1: 1, prop_2: [1, 2, 3], }; const byValue = ["prop_1"]; const byReference = ["prop_2"]; expect(isEqual({ byValue, byReference })(prev, next)).toBe(false); }); it("not equals", () => { const prev = { index: 0, focused: false, }; const next = { index: 0, focused: true, }; const byValue = ["focused", "index"]; expect(isEqual({ byValue })(prev, next)).toBe(false); }); }); describe("reference value", () => { it("equals", () => { const prev = { prop_1: [1, 2, 3], }; const next = { prop_1: [1, 2, 3], }; const byValue = ["prop_1"]; expect(isEqual({ byValue })(prev, next)).toBe(true); }); it("not equals", () => { const prev = { prop_1: [1, 2, 3], }; const next = { prop_1: [1, 2, 4], }; const byValue = ["prop_1"]; expect(isEqual({ byValue })(prev, next)).toBe(false); }); }); });