LibWeb/Tests: Port two DOM cloneNode() test cases to text tests
This commit is contained in:
parent
a5fb0b4243
commit
ed03dd0f99
Notes:
sideshowbarker
2024-07-17 07:20:57 +09:00
Author: https://github.com/shannonbooth Commit: https://github.com/SerenityOS/serenity/commit/ed03dd0f99 Pull-request: https://github.com/SerenityOS/serenity/pull/20696
6 changed files with 83 additions and 69 deletions
|
@ -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>
|
|
@ -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>
|
19
Tests/LibWeb/Text/expected/Attr-cloneNode.txt
Normal file
19
Tests/LibWeb/Text/expected/Attr-cloneNode.txt
Normal 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
|
|
@ -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
|
30
Tests/LibWeb/Text/input/Attr-cloneNode.html
Normal file
30
Tests/LibWeb/Text/input/Attr-cloneNode.html
Normal 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>
|
23
Tests/LibWeb/Text/input/ProcessingInstruction-cloneNode.html
Normal file
23
Tests/LibWeb/Text/input/ProcessingInstruction-cloneNode.html
Normal 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>
|
Loading…
Add table
Reference in a new issue