d3-jsnext
Version:
d3, but futuristic
41 lines (36 loc) • 1.21 kB
JavaScript
require( 'babel/register' );
var vows = require("vows"),
load = require("../load"),
assert = require("../assert");
var suite = vows.describe("selection.remove");
suite.addBatch({
"select(body)": {
topic: load("selection/remove").document(),
"removes the matching elements": function(d3) {
var div = d3.select("body").append("div");
div.remove();
assert.domNull(div[0][0].parentNode);
},
"does not remove non-matching elements": function(d3) {
var body = d3.select("body"),
div1 = body.append("div"),
div2 = body.append("div");
div1.remove();
assert.domEqual(div2[0][0].parentNode, body.node());
},
"ignores null nodes": function(d3) {
var div1 = d3.select("body").append("div"),
div2 = div1.selectAll("div").data([0, 1]).enter().append("div"),
node = div2[0][0];
div2[0][0] = null;
div2.remove();
assert.domEqual(node.parentNode, div1.node());
assert.domNull(div2[0][1].parentNode);
},
"returns the current selection": function(d3) {
var div = d3.select("body").append("div");
assert.isTrue(div.remove() === div);
}
}
});
suite.export(module);