UNPKG

reshow-flux

Version:
102 lines (101 loc) 2.15 kB
//@ts-check import { expect } from "chai"; import { Map } from "immutable"; import toJS from "../toJS.mjs"; describe("Test toJS with object", function () { it("without set", function () { var foo = { foo: "bar" }; var foo1 = toJS(foo); var foo2 = toJS(foo); expect(foo1 === foo2).to.be.true; }); it("set same value", function () { var foo = { foo: "bar" }; var foo1 = toJS(foo); foo.foo = "bar"; var foo2 = toJS(foo); expect(foo1 === foo2).to.be.true; expect(foo1).to.deep.equal({ foo: "bar" }); expect(foo2).to.deep.equal({ foo: "bar" }); }); it("set different value", function () { var foo = { foo: "bar" }; var foo1 = toJS(foo); foo.foo = "bar1"; var foo2 = toJS(foo); expect(foo1 === foo2).to.be.true; expect(foo1).to.deep.equal({ foo: "bar1" }); expect(foo2).to.deep.equal({ foo: "bar1" }); }); }); describe("Test toJS with immuteable", function () { it("without set", function () { var foo = Map({ foo: "bar" }); var foo1 = toJS(foo); var foo2 = toJS(foo); expect(foo1 === foo2).to.be.true; }); it("set same value", function () { var foo = Map({ foo: "bar" }); var foo1 = toJS(foo); var foo2 = toJS(foo.set("foo", "bar")); expect(foo1 === foo2).to.be.true; expect(foo1).to.deep.equal({ foo: "bar" }); expect(foo2).to.deep.equal({ foo: "bar" }); }); it("set different value", function () { var foo = Map({ foo: "bar" }); var foo1 = toJS(foo); var foo2 = toJS(foo.set("foo", "bar1")); expect(foo1 === foo2).to.be.false; expect(foo1).to.deep.equal({ foo: "bar" }); expect(foo2).to.deep.equal({ foo: "bar1" }); }); it("should restore all to js object", function () { var foo1 = Map({ a: { foo1: "bar1" }, b: Map({ foo2: "bar2" }) }); var foo2 = toJS(foo1); expect(foo2).to.deep.equal({ a: { foo1: "bar1" }, b: { foo2: "bar2" } }); }); });