Skip to content

Commit 0b83ad6

Browse files
committed
Add tests for transition.{size,node}.
1 parent f3bfabc commit 0b83ad6

4 files changed

Lines changed: 86 additions & 1 deletion

File tree

test/selection/size-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ suite.addBatch({
2727

2828
suite.addBatch({
2929
"selectAll(div)": {
30-
topic: load("selection/node").document(),
30+
topic: load("selection/size").document(),
3131
"on a simple page": {
3232
topic: function(d3) {
3333
var body = d3.select("body");
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
var assert = require("../assert");
2+
3+
module.exports = {
4+
"with a single element selected": {
5+
topic: function(d3) {
6+
return d3.select("body").transition();
7+
},
8+
"returns null for empty subselections": function(body) {
9+
assert.isNull(body.select("foo").node());
10+
},
11+
"returns the selected element": function(body) {
12+
assert.equal(body.node().tagName, "BODY");
13+
},
14+
"returns null if no elements are slected": function(body) {
15+
body[0][0] = null;
16+
assert.isNull(body.node());
17+
}
18+
},
19+
"with multiple elements selected": {
20+
topic: function(d3) {
21+
var body = d3.select("body").html(null);
22+
body.append("div").attr("class", "first").append("span");
23+
body.append("div").attr("class", "second");
24+
return body.selectAll("div").transition();
25+
},
26+
"returns null for empty subselections": function(div) {
27+
assert.isNull(div.select("foo").node());
28+
},
29+
"returns the first selected element": function(div) {
30+
assert.equal(div.node().className, "first");
31+
assert.equal(div.node().tagName, "DIV");
32+
},
33+
"does not count null nodes": function(div) {
34+
div[0][0] = null;
35+
assert.equal(div.node().className, "second");
36+
assert.equal(div.node().tagName, "DIV");
37+
}
38+
}
39+
};
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
var assert = require("../assert");
2+
3+
module.exports = {
4+
"with a single element selected": {
5+
topic: function(d3) {
6+
return d3.select("body").transition();
7+
},
8+
"returns zero for empty subselections": function(body) {
9+
assert.equal(body.select("foo").size(), 0);
10+
},
11+
"returns one for a singleton selection": function(body) {
12+
assert.equal(body.size(), 1);
13+
},
14+
"does not count null nodes": function(body) {
15+
body[0][0] = null;
16+
assert.equal(body.size(), 0);
17+
}
18+
},
19+
"with multiple elements selected": {
20+
topic: function(d3) {
21+
var body = d3.select("body").html(null);
22+
body.append("div").append("span");
23+
body.append("div");
24+
return body.selectAll("div").transition();
25+
},
26+
"returns null for empty selections": function(div) {
27+
assert.equal(div.select("foo").size(), 0);
28+
},
29+
"returns the number of non-null nodes": function(div) {
30+
assert.equal(div.size(), 2);
31+
},
32+
"does not count null nodes": function(div) {
33+
div[0][0] = null;
34+
assert.equal(div.size(), 1);
35+
}
36+
}
37+
};

test/transition/transition-test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,13 @@ suite.addBatch({
7777
}
7878
});
7979

80+
// Inspection
81+
suite.addBatch({
82+
"transition": {
83+
topic: load("transition/transition").document(),
84+
"size": require("./transition-test-size"),
85+
"node": require("./transition-test-node")
86+
}
87+
})
88+
8089
suite.export(module);

0 commit comments

Comments
 (0)