causalityjs
Version:
A library for reactive programming based on Javascript proxies.
40 lines (34 loc) • 1.13 kB
JavaScript
;
require = require("esm")(module);
const causality = require("../causality.js");
const assert = require('assert');
describe("Overlays", function(){
it('testing', function () {
// Simple object
// console.log(" Simple object ===========================")
let x = causality.create({name: "original"});
x.foo = 1;
assert.equal(x.foo, 1);
// Create overlay
// console.log(" Create overlay ===========================")
let xOverlay = causality.create({ name: "overlay"});
x.__handler.overrides.__overlay = xOverlay;
// console.log(x.__handler);
// console.log(x.__handler.overrides);
// console.log(x);
// console.log(x.__overlay);
// console.log(x.__handler);
// console.log(x.foo);
assert.equal(typeof(x.foo), 'undefined');
// Make changes in overlay
// console.log(" Make changes in overlay ===========================")
x.foo = 42;
x.fie = 32;
assert.equal(x.foo, 42);
assert.equal(x.fie, 32);
// Remove overlay
x.__overlay = null;
assert.equal(x.foo, 1);
assert.equal(typeof(x.fie), 'undefined');
});
});