OLD | NEW |
1 <html> | 1 <html> |
2 <import src="../resources/mocha.sky" /> | 2 <import src="../resources/mocha.sky" /> |
3 <import src="../resources/chai.sky" /> | 3 <import src="../resources/chai.sky" /> |
4 <div id="tests"> | 4 <div id="tests"> |
5 <div id="id1"> | 5 <div id="id1"> |
6 <div class="class2"></div> | 6 <div class="class2"></div> |
7 </div> | 7 </div> |
8 <tag-name-3 class="class7" id="tag1"></tag-name-3> | 8 <tag-name-3 class="class7" id="tag1"></tag-name-3> |
9 <tag-name-3 class="class7" id="tag2"></tag-name-3> | 9 <tag-name-3 class="class7" id="tag2"></tag-name-3> |
10 <span class="class2"> | 10 <span class="class2"> |
11 <span class="class5" id="id5"></span> | 11 <span class="class5" id="id5" testAttr></span> |
12 </span> | 12 </span> |
13 <div id="id5"></div> | 13 <div id="id5"></div> |
14 <tag-name-6 class="class6" id="id6"> | 14 <tag-name-6 class="class6" id="id6" testAttr="the value"> |
15 <tag-name-3 class="class7" id="tag2"></tag-name-3> | 15 <tag-name-3 class="class7" id="tag2"></tag-name-3> |
16 </tag-name-6> | 16 </tag-name-6> |
17 </div> | 17 </div> |
18 <script> | 18 <script> |
19 function query(selector) { return document.querySelector(selector); } | 19 function query(selector) { return document.querySelector(selector); } |
20 function queryAll(selector) { return document.querySelectorAll(selector); } | 20 function queryAll(selector) { return document.querySelectorAll(selector); } |
21 | 21 |
22 describe("querySelector", function() { | 22 describe("querySelector", function() { |
23 it("should find elements by class name", function() { | 23 it("should find elements by class name", function() { |
24 assert.ok(query(".class2")); | 24 assert.ok(query(".class2")); |
(...skipping 25 matching lines...) Expand all Loading... |
50 assert.equal(query("tag-name-6.class6#id6").id, "id6"); | 50 assert.equal(query("tag-name-6.class6#id6").id, "id6"); |
51 assert.equal(query("tag-name-6.class6#id6").classList.toString(), "class6"); | 51 assert.equal(query("tag-name-6.class6#id6").classList.toString(), "class6"); |
52 assert.equal(query("tag-name-6.class6#id6").tagName, "tag-name-6"); | 52 assert.equal(query("tag-name-6.class6#id6").tagName, "tag-name-6"); |
53 }); | 53 }); |
54 it("should find all elements by compound selector", function() { | 54 it("should find all elements by compound selector", function() { |
55 assert.ok(queryAll("tag-name-3.class7")); | 55 assert.ok(queryAll("tag-name-3.class7")); |
56 assert.equal(queryAll("tag-name-3.class7").length, 3); | 56 assert.equal(queryAll("tag-name-3.class7").length, 3); |
57 assert.equal(queryAll("tag-name-3.class7")[0].id, "tag1"); | 57 assert.equal(queryAll("tag-name-3.class7")[0].id, "tag1"); |
58 assert.equal(queryAll("tag-name-3.class7")[1].id, "tag2"); | 58 assert.equal(queryAll("tag-name-3.class7")[1].id, "tag2"); |
59 }); | 59 }); |
| 60 it("should find all elements by attribute presence selector", function() { |
| 61 assert.ok(queryAll("[testAttr]")); |
| 62 assert.equal(queryAll("[testAttr]").length, 2); |
| 63 assert.equal(queryAll("[testAttr]")[0].id, "id5"); |
| 64 assert.equal(queryAll("[testAttr]")[1].id, "id6"); |
| 65 }); |
| 66 it("should find all elements by attribute value selector", function() { |
| 67 assert.ok(queryAll("[testAttr='the value']")); |
| 68 assert.equal(queryAll("[testAttr='the value']").length, 1); |
| 69 assert.equal(queryAll("[testAttr='the value']")[0].id, "id6"); |
| 70 }); |
60 }); | 71 }); |
61 </script> | 72 </script> |
62 </html> | 73 </html> |
OLD | NEW |