relu-core
Version:
32 lines (28 loc) • 1.01 kB
JavaScript
var should = require("should");
var rp = require("../");
var checkRefs = require("./checkRefs");
describe("attr", function() {
it("should be able to get and set attrs on object", checkRefs(function() {
var x = rp.variable({ a: 1 });
var xTest = x.attr("test");
xTest.set("y");
x.attr("test")().should.be.eql("y");
x.hasAttr("test").should.be.eql(true);
should.not.exist(x.attr("test2")());
x.hasAttr("test2").should.be.eql(true);
x.hasAttr("test3").should.be.eql(false);
x("a").hasAttr("test").should.be.eql(false);
var xaTest = x("a").attr("test");
x("a").hasAttr("test").should.be.eql(true);
xaTest.set("z");
xaTest().should.be.eql("z");
x("a").attr("test")().should.be.eql("z");
}));
it("should be able to get and set attrs on array", checkRefs(function() {
var x = rp.variable([1, 2]);
x(0).attr("test").set("a");
x(1).attr("test").set("b");
x(0).attr("test")().should.be.eql("a");
x(1).attr("test")().should.be.eql("b");
}));
});