LibWeb/Tests: Port two DOM cloneNode() test cases to text tests

This commit is contained in:
Shannon Booth 2023-08-21 22:07:27 +12:00 committed by Andreas Kling
parent a5fb0b4243
commit ed03dd0f99
6 changed files with 83 additions and 69 deletions

View file

@ -1,38 +0,0 @@
<html>
<body>
<pre id="out"></pre>
<script>
function log(s) {
document.getElementById("out").innerHTML += s + "\n"
}
window.onload = function() {
let e = document.createElement("div")
e.setAttribute("foo", "bar")
let attr = e.getAttributeNode("foo")
let clone = attr.cloneNode()
function dumpAttr(name, attr) {
log(name + ": " + attr)
log(name + ".ownerElement: " + attr.ownerElement)
log(name + ".namespaceURI: " + attr.namespaceURI)
log(name + ".localName: " + attr.localName)
log(name + ".name: " + attr.name)
log(name + ".value: " + attr.value)
log(name + ".specified: " + attr.specified)
log("")
}
dumpAttr("attr", attr)
dumpAttr("clone", clone)
log("attr === clone -> " + (attr === clone))
log("attr.isEqualNode(clone) -> " + attr.isEqualNode(clone))
e.setAttribute("baz", "bux")
let other = e.getAttributeNode("baz")
log("attr.isEqualNode(other) -> " + attr.isEqualNode(other))
}
</script>
</body>
</html>

View file

@ -1,31 +0,0 @@
<html>
<body>
<pre id="out"></pre>
<script>
function log(s) {
document.getElementById("out").innerHTML += s + "\n"
}
window.onload = function() {
let pi = document.createProcessingInstruction("someTarget", "someData")
let clone = pi.cloneNode()
function dumpProcessingInstruction(name, pi) {
log(name + ": " + pi)
log(name + ".target: " + pi.target)
log(name + ".data: " + pi.data)
log("")
}
dumpProcessingInstruction("pi", pi)
dumpProcessingInstruction("clone", clone)
log("pi === clone -> " + (pi === clone))
log("pi.isEqualNode(clone) -> " + pi.isEqualNode(clone))
let other = document.createProcessingInstruction("baz", "bux")
log("pi.isEqualNode(other) -> " + pi.isEqualNode(other))
}
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
attr: [object Attr]
attr.ownerElement: [object HTMLDivElement]
attr.namespaceURI: null
attr.localName: foo
attr.name: foo
attr.value: bar
attr.specified: true
clone: [object Attr]
clone.ownerElement: null
clone.namespaceURI: null
clone.localName: foo
clone.name: foo
clone.value: bar
clone.specified: true
attr === clone -> false
attr.isEqualNode(clone) -> true
attr.isEqualNode(other) -> false

View file

@ -0,0 +1,11 @@
pi: [object ProcessingInstruction]
pi.target: someTarget
pi.data: someData
clone: [object ProcessingInstruction]
clone.target: someTarget
clone.data: someData
pi === clone -> false
pi.isEqualNode(clone) -> true
pi.isEqualNode(other) -> false

View file

@ -0,0 +1,30 @@
<script src="include.js"></script>
<script>
test(() => {
let e = document.createElement("div")
e.setAttribute("foo", "bar")
let attr = e.getAttributeNode("foo")
let clone = attr.cloneNode()
function dumpAttr(name, attr) {
println(name + ": " + attr)
println(name + ".ownerElement: " + attr.ownerElement)
println(name + ".namespaceURI: " + attr.namespaceURI)
println(name + ".localName: " + attr.localName)
println(name + ".name: " + attr.name)
println(name + ".value: " + attr.value)
println(name + ".specified: " + attr.specified)
println("")
}
dumpAttr("attr", attr)
dumpAttr("clone", clone)
println("attr === clone -> " + (attr === clone))
println("attr.isEqualNode(clone) -> " + attr.isEqualNode(clone))
e.setAttribute("baz", "bux")
let other = e.getAttributeNode("baz")
println("attr.isEqualNode(other) -> " + attr.isEqualNode(other))
});
</script>

View file

@ -0,0 +1,23 @@
<script src="include.js"></script>
<script>
test(() => {
let pi = document.createProcessingInstruction("someTarget", "someData")
let clone = pi.cloneNode()
function dumpProcessingInstruction(name, pi) {
println(name + ": " + pi)
println(name + ".target: " + pi.target)
println(name + ".data: " + pi.data)
println("")
}
dumpProcessingInstruction("pi", pi)
dumpProcessingInstruction("clone", clone)
println("pi === clone -> " + (pi === clone))
println("pi.isEqualNode(clone) -> " + pi.isEqualNode(clone))
let other = document.createProcessingInstruction("baz", "bux")
println("pi.isEqualNode(other) -> " + pi.isEqualNode(other))
});
</script>