mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
We just needed to throw the proper exception when handed null for a non-nullable argument. R=esprehn@chromium.org Review URL: https://codereview.chromium.org/934863002
83 lines
2.7 KiB
Plaintext
83 lines
2.7 KiB
Plaintext
<sky>
|
|
<import src="../resources/dom-utils.sky" as="DomUtils" />
|
|
<script>
|
|
import "../resources/third_party/unittest/unittest.dart";
|
|
import "../resources/unit.dart";
|
|
|
|
import "dart:sky";
|
|
|
|
void main() {
|
|
initUnit();
|
|
|
|
var childElementCount = DomUtils.childElementCount;
|
|
var childNodeCount = DomUtils.childNodeCount;
|
|
|
|
test("should throw with invalid arguments", () {
|
|
var parent = document.createElement("div");
|
|
expect(() {
|
|
parent.appendChild();
|
|
}, throws);
|
|
expect(() {
|
|
parent.appendChild(null);
|
|
}, throws);
|
|
expect(() {
|
|
parent.appendChild({tagName: "div"});
|
|
}, throws);
|
|
});
|
|
|
|
test("should insert children", () {
|
|
var parent = document.createElement("div");
|
|
var child1 = parent.appendChild(document.createElement("div"));
|
|
var child2 = parent.appendChild(new Text(" text "));
|
|
var child3 = parent.appendChild(new Text(" "));
|
|
var child4 = parent.appendChild(document.createElement("div"));
|
|
expect(child1.parentNode, equals(parent));
|
|
expect(child2.parentNode, equals(parent));
|
|
expect(child3.parentNode, equals(parent));
|
|
expect(child4.parentNode, equals(parent));
|
|
expect(childNodeCount(parent), equals(4));
|
|
expect(childElementCount(parent), equals(2));
|
|
});
|
|
|
|
test("should insert children with a fragment", () {
|
|
var fragment = document.createDocumentFragment();
|
|
var child1 = fragment.appendChild(document.createElement("div"));
|
|
var child2 = fragment.appendChild(new Text(" text "));
|
|
var child3 = fragment.appendChild(new Text(" "));
|
|
var child4 = fragment.appendChild(document.createElement("div"));
|
|
var parent = document.createElement("div");
|
|
parent.appendChild(fragment);
|
|
expect(child1.parentNode, equals(parent));
|
|
expect(child2.parentNode, equals(parent));
|
|
expect(child3.parentNode, equals(parent));
|
|
expect(child4.parentNode, equals(parent));
|
|
expect(childNodeCount(parent), equals(4));
|
|
expect(childElementCount(parent), equals(2));
|
|
});
|
|
|
|
// TODO(dart): These might be real bugs too.
|
|
// test("should throw when inserting a tree scope", () {
|
|
// var parent = document.createElement("div");
|
|
// var doc = new Document();
|
|
// var shadowRoot = document.createElement("span").ensureShadowRoot();
|
|
// expect(() {
|
|
// parent.appendChild(doc);
|
|
// }, throws);
|
|
// expect(() {
|
|
// parent.appendChild(shadowRoot);
|
|
// }, throws);
|
|
// expect(() {
|
|
// doc.appendChild(fragment);
|
|
// }, throws);
|
|
// });
|
|
|
|
// TODO(dart): These might be real bugs too.
|
|
// test("should throw when appending to a text", () {
|
|
// var parent = new Text();
|
|
// expect(() {
|
|
// parent.appendChild(document.createElement("div"));
|
|
// }, throws);
|
|
// });
|
|
}
|
|
</script>
|
|
</sky> |