adda-helper
Version:
Divsense ADDA API helper
116 lines (67 loc) • 2.4 kB
JavaScript
var assert = require("assert");
var adda = require("../index.js");
describe("ADDA Helper", function(){
describe("makeNode", function(){
it("should return ADDA object with new node", function(){
var set = adda.makeNode( 12, {
t: "Foo",
u: {type: "command"},
k: {fontstyle:"italic"}
})( {} );
assert.equal( set[12].t, "Foo" );
assert.equal( set[12].u[0][0], "type" );
assert.equal( set[12].u[0][1], "command" );
assert.equal( set[12].k[0][0], "fontstyle" );
assert.equal( set[12].k[0][1], "italic" );
assert.equal( typeof set[12].c, "undefined" );
});
});
describe("init", function(){
it("should return ADDA object with root node", function(){
var set = adda.init();
assert.ok( set["__root__"] );
});
});
describe("setChild", function(){
it("should return ADDA object with one node as a child of another", function(){
var set = adda.init();
set = adda.makeNode(1,{})( set );
set = adda.setChild("__root__", 1)( set );
assert.ok( set["__root__"].c );
assert.equal( set["__root__"].c[0][0], "children-mmap" );
assert.equal( set["__root__"].c[0][1][0], 1 );
});
});
describe("setChildNodes", function(){
it("should assign child nodes", function(){
var set = adda.init();
set = adda.makeNode("a",{})( set );
set = adda.makeNode("b",{})( set );
set = adda.setChildNodes("__root__", ["a","b"] )( set );
assert.ok( set["__root__"].c );
assert.equal( set["__root__"].c[0][0], "children-mmap" );
assert.equal( set["__root__"].c[0][1][0], "a" );
assert.equal( set["__root__"].c[0][1][1], "b" );
});
});
describe("toArray", function(){
it("should convert ADDA object into array of nodes", function(){
var set = adda.init();
set = adda.makeNode("a",{})( set );
set = adda.setChild("__root__", "a" )( set );
var arr = adda.toArray( set );
assert.ok( Array.isArray( arr ) );
assert.ok( arr.indexOf( set["__root__"] ) !== -1 );
assert.ok( arr.indexOf( set["a"] ) !== -1 );
});
});
describe("addChildNode", function(){
it("should create and return ADDA object as a child of another", function(){
var set = adda.init();
set = adda.addChildNode("__root__", 1, {})(set);
assert.ok( set["__root__"].c );
assert.equal( set["__root__"].c[0][0], "children-mmap" );
assert.equal( set["__root__"].c[0][1][0], 1 );
});
});
});