|
1 require("../env"); |
|
2 require("../../d3"); |
|
3 |
|
4 var vows = require("vows"), |
|
5 assert = require("assert"); |
|
6 |
|
7 var suite = vows.describe("d3.selectAll"); |
|
8 |
|
9 suite.addBatch({ |
|
10 "selectAll": { |
|
11 topic: function() { |
|
12 var body = d3.select("body").html(""); |
|
13 body.append("span").attr("class", "f00").attr("id", "b4r").attr("name", "b4z"); |
|
14 body.append("div").attr("class", "foo").attr("id", "bar").attr("name", "baz"); |
|
15 return body; |
|
16 }, |
|
17 "selects by element name": function() { |
|
18 var div = d3.selectAll("div"); |
|
19 assert.equal(div[0][0].tagName, "DIV"); |
|
20 }, |
|
21 "selects by class name": function() { |
|
22 var div = d3.selectAll(".foo"); |
|
23 assert.equal(div[0][0].className, "foo"); |
|
24 }, |
|
25 "selects by id": function() { |
|
26 var div = d3.select("div#bar"); |
|
27 assert.equal(div[0][0].id, "bar"); |
|
28 }, |
|
29 "selects by attribute value": function() { |
|
30 var div = d3.selectAll("[name=baz]"); |
|
31 assert.equal(div[0][0].getAttribute("name"), "baz"); |
|
32 }, |
|
33 "selects by array": function() { |
|
34 var div = d3.selectAll([document.body.lastChild]); |
|
35 assert.isTrue(div[0][0] === document.body.lastChild); |
|
36 assert.length(div, 1); |
|
37 assert.length(div[0], 1); |
|
38 }, |
|
39 "groups are not instances of NodeList": function() { |
|
40 var div = d3.select("body").selectAll(function() { return this.getElementsByClassName("div"); }); |
|
41 assert.isFalse(div[0] instanceof window.NodeList); |
|
42 } |
|
43 } |
|
44 }); |
|
45 |
|
46 suite.export(module); |