OLD | NEW |
| (Empty) |
1 <html> | |
2 <div id="tests"> | |
3 <div id="id1"> | |
4 <div class="class2"></div> | |
5 </div> | |
6 <tag-name-3 class="class7" id="tag1"></tag-name-3> | |
7 <tag-name-3 class="class7" id="tag2"></tag-name-3> | |
8 <span class="class2"> | |
9 <span class="class5" id="id5" testAttr></span> | |
10 </span> | |
11 <div id="id5"></div> | |
12 <tag-name-6 class="class6" id="id6" testAttr="the value"> | |
13 <tag-name-3 class="class7" id="tag2"></tag-name-3> | |
14 </tag-name-6> | |
15 </div> | |
16 <script> | |
17 import "../resources/third_party/unittest/unittest.dart"; | |
18 import "../resources/unit.dart"; | |
19 | |
20 import "dart:sky"; | |
21 | |
22 query(selector) => document.querySelector(selector); | |
23 queryAll(selector) => document.querySelectorAll(selector); | |
24 | |
25 main() { | |
26 initUnit(); | |
27 | |
28 test("should find elements by class name", () { | |
29 expect(query(".class2"), isNotNull); | |
30 expect(query(".class2").classList.toString(), equals("class2")); | |
31 expect(queryAll(".class2").length, 2); | |
32 expect(queryAll(".class2")[0].classList.toString(), equals("class2")); | |
33 expect(queryAll(".class2")[1].classList.toString(), equals("class2")); | |
34 expect(queryAll(".class2")[0], isNot(equals(queryAll(".class2")[1]))); | |
35 }); | |
36 | |
37 test("should find elements by id", () { | |
38 expect(query("#id5"), isNotNull); | |
39 expect(query("#id5").getAttribute("id"), equals("id5")); | |
40 expect(query("#id5").classList.toString(), equals("class5")); | |
41 // FIXME(sky): Do we still want to allow multiple id stuff like this? | |
42 expect(queryAll("#id5").length, equals(2)); | |
43 expect(queryAll("#id5")[0], equals(query("#id5"))); | |
44 expect(queryAll("#id5")[1], isNot(equals(query("#id5")))); | |
45 expect(queryAll("#id5")[1].getAttribute("id"), equals("id5")); | |
46 }); | |
47 | |
48 test("should find elements by tag name", () { | |
49 expect(query("tag-name-6"), isNotNull); | |
50 expect(query("tag-name-6").tagName, equals("tag-name-6")); | |
51 expect(query("tag-name-6").classList.toString(), equals("class6")); | |
52 var context = query("#tests"); | |
53 expect(context.querySelectorAll("span").length, equals(2)); | |
54 }); | |
55 | |
56 test("should find an element by compound selector", () { | |
57 expect(query("tag-name-6.class6#id6"), isNotNull); | |
58 expect(query("tag-name-6.class6#id6").getAttribute("id"), equals("id6")); | |
59 expect(query("tag-name-6.class6#id6").classList.toString(), equals("class6")
); | |
60 expect(query("tag-name-6.class6#id6").tagName, equals("tag-name-6")); | |
61 }); | |
62 | |
63 test("should find all elements by compound selector", () { | |
64 expect(queryAll("tag-name-3.class7"), isNotNull); | |
65 expect(queryAll("tag-name-3.class7").length, equals(3)); | |
66 expect(queryAll("tag-name-3.class7")[0].getAttribute("id"), equals("tag1")); | |
67 expect(queryAll("tag-name-3.class7")[1].getAttribute("id"), equals("tag2")); | |
68 }); | |
69 | |
70 test("should find all elements by attribute presence selector", () { | |
71 expect(queryAll("[testAttr]"), isNotNull); | |
72 expect(queryAll("[testAttr]").length, equals(2)); | |
73 expect(queryAll("[testAttr]")[0].getAttribute("id"), equals("id5")); | |
74 expect(queryAll("[testAttr]")[1].getAttribute("id"), equals("id6")); | |
75 }); | |
76 | |
77 test("should find all elements by attribute value selector", () { | |
78 expect(queryAll("[testAttr='the value']"), isNotNull); | |
79 expect(queryAll("[testAttr='the value']").length, equals(1)); | |
80 expect(queryAll("[testAttr='the value']")[0].getAttribute("id"), equals("id6
")); | |
81 }); | |
82 } | |
83 </script> | |
84 </html> | |
OLD | NEW |