UNPKG

@wizard9/json-patch-apply

Version:

A library for describing, calculating, and applying patches to Javascript Objects.

45 lines (39 loc) 1.49 kB
import {expect} from "chai"; import {firstElement, getValue, getValueType, ValueType} from "../src/common"; describe("common", () => { describe("firstElement", () => { it("errors out with firstElement of empty", () => { try { firstElement([]); throw new Error("Missing error"); } catch (e) { expect(e.message).eql("cannot get first of empty list"); } }); }); describe("getValue", () => { it("returns value when present", () => { let a = {b: 123}; expect(getValue(a, "b")).eql(123); }); it("returns undefined when value not present", () => { let a = {}; expect(getValue(a, "b")).be.undefined; }); }); describe("getValueType", () => { it("returns array for array", () => { expect(ValueType.array).eql(getValueType([])); }); it("returns object for object", () => { expect(ValueType.object).eql(getValueType({})); }); it("returns primitive for other types", () => { expect(ValueType.primitive).eql(getValueType(123)); expect(ValueType.primitive).eql(getValueType("abc")); expect(ValueType.primitive).eql(getValueType(true)); expect(ValueType.primitive).eql(getValueType(false)); expect(ValueType.primitive).eql(getValueType(undefined)); }); }); });