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