| OLD | NEW |
| (Empty) |
| 1 <sky> | |
| 2 <import src="../resources/dom-utils.sky" as="DomUtils" /> | |
| 3 <script> | |
| 4 import "../resources/third_party/unittest/unittest.dart"; | |
| 5 import "../resources/unit.dart"; | |
| 6 | |
| 7 import "dart:sky"; | |
| 8 | |
| 9 void main() { | |
| 10 initUnit(); | |
| 11 | |
| 12 var childElementCount = DomUtils.childElementCount; | |
| 13 var childNodeCount = DomUtils.childNodeCount; | |
| 14 | |
| 15 test("should throw with invalid arguments", () { | |
| 16 var parent = document.createElement("div"); | |
| 17 expect(() { | |
| 18 parent.appendChild(); | |
| 19 }, throws); | |
| 20 expect(() { | |
| 21 parent.appendChild(null); | |
| 22 }, throws); | |
| 23 expect(() { | |
| 24 parent.appendChild({tagName: "div"}); | |
| 25 }, throws); | |
| 26 }); | |
| 27 | |
| 28 test("should insert children", () { | |
| 29 var parent = document.createElement("div"); | |
| 30 var child1 = parent.appendChild(document.createElement("div")); | |
| 31 var child2 = parent.appendChild(new Text(" text ")); | |
| 32 var child3 = parent.appendChild(new Text(" ")); | |
| 33 var child4 = parent.appendChild(document.createElement("div")); | |
| 34 expect(child1.parentNode, equals(parent)); | |
| 35 expect(child2.parentNode, equals(parent)); | |
| 36 expect(child3.parentNode, equals(parent)); | |
| 37 expect(child4.parentNode, equals(parent)); | |
| 38 expect(childNodeCount(parent), equals(4)); | |
| 39 expect(childElementCount(parent), equals(2)); | |
| 40 }); | |
| 41 | |
| 42 test("should insert children with a fragment", () { | |
| 43 var fragment = document.createDocumentFragment(); | |
| 44 var child1 = fragment.appendChild(document.createElement("div")); | |
| 45 var child2 = fragment.appendChild(new Text(" text ")); | |
| 46 var child3 = fragment.appendChild(new Text(" ")); | |
| 47 var child4 = fragment.appendChild(document.createElement("div")); | |
| 48 var parent = document.createElement("div"); | |
| 49 parent.appendChild(fragment); | |
| 50 expect(child1.parentNode, equals(parent)); | |
| 51 expect(child2.parentNode, equals(parent)); | |
| 52 expect(child3.parentNode, equals(parent)); | |
| 53 expect(child4.parentNode, equals(parent)); | |
| 54 expect(childNodeCount(parent), equals(4)); | |
| 55 expect(childElementCount(parent), equals(2)); | |
| 56 }); | |
| 57 | |
| 58 // TODO(dart): These might be real bugs too. | |
| 59 // test("should throw when inserting a tree scope", () { | |
| 60 // var parent = document.createElement("div"); | |
| 61 // var doc = new Document(); | |
| 62 // var shadowRoot = document.createElement("span").ensureShadowRoot(); | |
| 63 // expect(() { | |
| 64 // parent.appendChild(doc); | |
| 65 // }, throws); | |
| 66 // expect(() { | |
| 67 // parent.appendChild(shadowRoot); | |
| 68 // }, throws); | |
| 69 // expect(() { | |
| 70 // doc.appendChild(fragment); | |
| 71 // }, throws); | |
| 72 // }); | |
| 73 | |
| 74 // TODO(dart): These might be real bugs too. | |
| 75 // test("should throw when appending to a text", () { | |
| 76 // var parent = new Text(); | |
| 77 // expect(() { | |
| 78 // parent.appendChild(document.createElement("div")); | |
| 79 // }, throws); | |
| 80 // }); | |
| 81 } | |
| 82 </script> | |
| 83 </sky> | |
| OLD | NEW |