blob: fb163b55aa2ef339c8b8159f401b8c37c9debb5a [file] [log] [blame]
<sky>
<script>
import "../resources/third_party/unittest/unittest.dart";
import "../resources/unit.dart";
import "dart:sky";
void main() {
initUnit();
test("should return null for elements not a child of a scope", () {
var doc = new Document();
var element = doc.createElement("div");
expect(element.owner, isNull);
});
test("should return the document for elements in the document scope", () {
var doc = new Document();
var element = doc.createElement("div");
doc.appendChild(element);
expect(element.owner, equals(doc));
});
test("should return the shadow root for elements in the shadow root scope", () {
var doc = new Document();
var host = doc.createElement("div");
var child = doc.createElement("div");
var shadowRoot = host.ensureShadowRoot();
shadowRoot.appendChild(child);
expect(child.owner, equals(shadowRoot));
});
test("should return self for a shadow root or document", () {
var doc = new Document();
var host = doc.createElement("div");
doc.appendChild(host);
var shadowRoot = host.ensureShadowRoot();
expect(shadowRoot.owner, equals(shadowRoot));
expect(doc.owner, equals(doc));
});
test("should dynamically update", () {
var doc = new Document();
var host = doc.createElement("div");
var child = doc.createElement("div");
var shadowRoot = host.ensureShadowRoot();
expect(child.owner, isNull);
shadowRoot.appendChild(child);
expect(child.owner, equals(shadowRoot));
child.remove();
expect(child.owner, isNull);
});
}
</script>
</sky>