86 lines
1.9 KiB
HTML
86 lines
1.9 KiB
HTML
<html><body>
|
|
<script src="../../resources/js-test.js"></script>
|
|
<script>
|
|
|
|
description("Test the tree ordering.")
|
|
|
|
function shouldBeBoth(a, b, forward, reversed)
|
|
{
|
|
shouldBeEqualToString("internals.treeOrder(" + a + ", " + (b ? b : a) + ", 'ComposedTree')", forward)
|
|
if (a != b)
|
|
shouldBeEqualToString("internals.treeOrder(" + b + ", " + a + ", 'ComposedTree')", reversed)
|
|
}
|
|
|
|
function shouldBeEquivalent(a, b)
|
|
{
|
|
shouldBeBoth(a, b, "equivalent", "equivalent")
|
|
}
|
|
|
|
function shouldBeLess(a, b)
|
|
{
|
|
shouldBeBoth(a, b, "less", "greater")
|
|
}
|
|
|
|
function shouldBeUnordered(a, b)
|
|
{
|
|
shouldBeBoth(a, b, "unordered", "unordered")
|
|
}
|
|
|
|
shouldBeEquivalent("document", "document")
|
|
|
|
let body = document.body;
|
|
|
|
shouldBeEquivalent("body", "body")
|
|
shouldBeLess("document", "body")
|
|
|
|
let a = document.createElement("div")
|
|
shouldBeEquivalent("a", "a")
|
|
shouldBeUnordered("body", "a")
|
|
|
|
body.appendChild(a)
|
|
shouldBeLess("body", "a")
|
|
shouldBeEquivalent("a", "a")
|
|
|
|
let b = document.createElement("div")
|
|
body.appendChild(b)
|
|
shouldBeLess("body", "b")
|
|
shouldBeLess("a", "b")
|
|
|
|
let c = document.createElement("div")
|
|
b.appendChild(c)
|
|
shouldBeLess("body", "c")
|
|
shouldBeLess("a", "c")
|
|
shouldBeLess("b", "c")
|
|
|
|
let d = document.createElement("div")
|
|
a.appendChild(d)
|
|
shouldBeLess("body", "d")
|
|
shouldBeLess("body", "d")
|
|
shouldBeLess("a", "d")
|
|
shouldBeLess("d", "b")
|
|
shouldBeLess("d", "c")
|
|
shouldBeLess("a", "d")
|
|
shouldBeLess("d", "b")
|
|
shouldBeLess("d", "c")
|
|
|
|
let e = document.createElement("div")
|
|
let f = document.createElement("div")
|
|
e.appendChild(f)
|
|
shouldBeUnordered("body", "f")
|
|
shouldBeUnordered("f", "body")
|
|
|
|
let g = document.createElement("textarea")
|
|
c.appendChild(g)
|
|
shouldBeLess("body", "g")
|
|
|
|
let h = internals.ensureUserAgentShadowRoot(g).firstChild
|
|
shouldBeLess("body", "h")
|
|
|
|
let i = a.attachShadow({ mode: "closed" })
|
|
shouldBeLess("body", "i")
|
|
shouldBeLess("i", "d")
|
|
shouldBeLess("i", "b")
|
|
|
|
</script>
|
|
</body></html>
|