46 строки
1.1 KiB
JavaScript
46 строки
1.1 KiB
JavaScript
var vows = require("vows"),
|
|
load = require("../load"),
|
|
assert = require("../assert");
|
|
|
|
var suite = vows.describe("d3.layout.tree");
|
|
|
|
suite.addBatch({
|
|
"tree": {
|
|
topic: load("layout/tree").expression("d3.layout.tree"),
|
|
"can handle an empty children array": function(tree) {
|
|
var t = tree();
|
|
assert.deepEqual(t.nodes({children: []}).map(layout), [
|
|
{depth: 0, x: 0.5, y: 0}
|
|
]);
|
|
assert.deepEqual(t.nodes({children: [
|
|
{children: []},
|
|
{children: [{}]},
|
|
{children: [{}]}
|
|
]}).map(layout), [
|
|
{depth: 0, x: .5, y: 0},
|
|
{depth: 1, x: .125, y: 0.5},
|
|
{depth: 1, x: .375, y: 0.5},
|
|
{depth: 2, x: .375, y: 1},
|
|
{depth: 1, x: .875, y: 0.5},
|
|
{depth: 2, x: .875, y: 1}
|
|
]);
|
|
},
|
|
"can handle a single node": function(tree) {
|
|
var t = tree();
|
|
assert.deepEqual(t.nodes({value: 0}).map(layout), [
|
|
{depth: 0, x: 0.5, y: 0}
|
|
]);
|
|
}
|
|
}
|
|
});
|
|
|
|
function layout(node) {
|
|
return {
|
|
depth: node.depth,
|
|
x: node.x,
|
|
y: node.y
|
|
};
|
|
}
|
|
|
|
suite.export(module);
|