Add test for transition.selectAll.

This commit is contained in:
Mike Bostock 2011-08-21 17:36:24 -07:00
Родитель 80fa16a351
Коммит f577542eff
2 изменённых файлов: 49 добавлений и 1 удалений

Просмотреть файл

@ -0,0 +1,48 @@
require("../env");
require("../../d3");
var assert = require("assert");
module.exports = {
topic: function() {
var s = d3.select("body").append("div").selectAll("div")
.data(["one", "two", "three", "four"])
.enter().append("div")
.attr("class", String);
s.filter(function(d, i) { return i > 0; }).append("span");
s.filter(function(d, i) { return i > 1; }).append("span");
s[0][3] = null;
return s.transition()
.delay(function(d, i) { return i * 13; })
.duration(function(d, i) { return i * 21; });
},
"selects all matching elements": function(transition) {
var t = transition.selectAll("span");
assert.domEqual(t[1][0].node.parentNode, transition[0][1].node);
assert.domEqual(t[2][0].node.parentNode, transition[0][2].node);
assert.domEqual(t[2][1].node.parentNode, transition[0][2].node);
},
"ignores null elements": function(transition) {
var t = transition.selectAll("span");
assert.equal(t.length, 3);
},
"propagates delay to the selected elements": function(transition) {
var t = transition.selectAll("span");
assert.domEqual(t[1][0].delay, 13);
assert.domEqual(t[2][0].delay, 26);
assert.domEqual(t[2][1].delay, 26);
},
"propagates duration to the selected elements": function(transition) {
var t = transition.selectAll("span");
assert.domEqual(t[1][0].duration, 21);
assert.domEqual(t[2][0].duration, 42);
assert.domEqual(t[2][1].duration, 42);
},
"returns empty if no match is found": function(transition) {
var t = transition.selectAll("span");
assert.isEmpty(t[0]);
}
};

Просмотреть файл

@ -26,7 +26,7 @@ suite.addBatch({
// Subtransitions
"select": require("./transition-test-select"),
// selectAll
"selectAll": require("./transition-test-selectAll"),
// Content
"attr": require("./transition-test-attr"),