mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-06 16:19:23 +00:00
Tests: Update dom/nodes/attributes.html
WPT test
This commit is contained in:
parent
07b3b70a10
commit
c6cc7e1874
Notes:
github-actions[bot]
2025-06-19 10:02:30 +00:00
Author: https://github.com/tcl3
Commit: c6cc7e1874
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5140
Reviewed-by: https://github.com/AtkinsSJ ✅
3 changed files with 20 additions and 59 deletions
|
@ -1,29 +1,27 @@
|
||||||
Harness status: OK
|
Harness status: OK
|
||||||
|
|
||||||
Found 70 tests
|
Found 67 tests
|
||||||
|
|
||||||
70 Pass
|
65 Pass
|
||||||
|
2 Fail
|
||||||
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown. (toggleAttribute)
|
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown. (toggleAttribute)
|
||||||
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown, even if the attribute is already present. (toggleAttribute)
|
|
||||||
Pass toggleAttribute should lowercase its name argument (upper case attribute)
|
Pass toggleAttribute should lowercase its name argument (upper case attribute)
|
||||||
Pass toggleAttribute should lowercase its name argument (mixed case attribute)
|
Pass toggleAttribute should lowercase its name argument (mixed case attribute)
|
||||||
Pass toggleAttribute should not throw even when qualifiedName starts with 'xmlns'
|
Pass toggleAttribute should not throw even when qualifiedName starts with 'xmlns'
|
||||||
Pass Basic functionality should be intact. (toggleAttribute)
|
Fail Basic functionality should be intact. (toggleAttribute)
|
||||||
Pass toggleAttribute should not change the order of previously set attributes.
|
Pass toggleAttribute should not change the order of previously set attributes.
|
||||||
Pass toggleAttribute should set the first attribute with the given name
|
Pass toggleAttribute should set the first attribute with the given name
|
||||||
Pass toggleAttribute should set the attribute with the given qualified name
|
Pass toggleAttribute should set the attribute with the given qualified name
|
||||||
Pass Toggling element with inline style should make inline style disappear
|
Pass Toggling element with inline style should make inline style disappear
|
||||||
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown. (setAttribute)
|
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown. (setAttribute)
|
||||||
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown, even if the attribute is already present. (setAttribute)
|
|
||||||
Pass setAttribute should lowercase its name argument (upper case attribute)
|
Pass setAttribute should lowercase its name argument (upper case attribute)
|
||||||
Pass setAttribute should lowercase its name argument (mixed case attribute)
|
Pass setAttribute should lowercase its name argument (mixed case attribute)
|
||||||
Pass setAttribute should not throw even when qualifiedName starts with 'xmlns'
|
Pass setAttribute should not throw even when qualifiedName starts with 'xmlns'
|
||||||
Pass Basic functionality should be intact.
|
Fail Basic functionality should be intact.
|
||||||
Pass setAttribute should not change the order of previously set attributes.
|
Pass setAttribute should not change the order of previously set attributes.
|
||||||
Pass setAttribute should set the first attribute with the given name
|
Pass setAttribute should set the first attribute with the given name
|
||||||
Pass setAttribute should set the attribute with the given qualified name
|
Pass setAttribute should set the attribute with the given qualified name
|
||||||
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown. (setAttributeNS)
|
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown. (setAttributeNS)
|
||||||
Pass When qualifiedName does not match the Name production, an INVALID_CHARACTER_ERR exception is to be thrown, even if the attribute is already present. (setAttributeNS)
|
|
||||||
Pass When qualifiedName does not match the QName production, an INVALID_CHARACTER_ERR exception is to be thrown.
|
Pass When qualifiedName does not match the QName production, an INVALID_CHARACTER_ERR exception is to be thrown.
|
||||||
Pass null and the empty string should result in a null namespace.
|
Pass null and the empty string should result in a null namespace.
|
||||||
Pass A namespace is required to use a prefix.
|
Pass A namespace is required to use a prefix.
|
||||||
|
|
|
@ -11,11 +11,6 @@
|
||||||
<div id="log"></div>
|
<div id="log"></div>
|
||||||
<span id="test1"></span>
|
<span id="test1"></span>
|
||||||
<span class="&<>foo"></span>
|
<span class="&<>foo"></span>
|
||||||
<span id="test2">
|
|
||||||
<span ~=""></span>
|
|
||||||
<span ~></span>
|
|
||||||
<span></span>
|
|
||||||
</span>
|
|
||||||
<script>
|
<script>
|
||||||
var XML = "http://www.w3.org/XML/1998/namespace"
|
var XML = "http://www.w3.org/XML/1998/namespace"
|
||||||
var XMLNS = "http://www.w3.org/2000/xmlns/"
|
var XMLNS = "http://www.w3.org/2000/xmlns/"
|
||||||
|
@ -25,36 +20,25 @@ var XMLNS = "http://www.w3.org/2000/xmlns/"
|
||||||
test(function() {
|
test(function() {
|
||||||
var el = document.createElement("foo")
|
var el = document.createElement("foo")
|
||||||
for (var i = 0; i < invalid_names.length; i++) {
|
for (var i = 0; i < invalid_names.length; i++) {
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i], true) })
|
assert_throws_dom(
|
||||||
|
"INVALID_CHARACTER_ERR",
|
||||||
|
function() { el.toggleAttribute(invalid_names[i], true) },
|
||||||
|
`toggleAttribute("${invalid_names[i]}", true)`);
|
||||||
}
|
}
|
||||||
for (var i = 0; i < invalid_names.length; i++) {
|
for (var i = 0; i < invalid_names.length; i++) {
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i]) })
|
assert_throws_dom(
|
||||||
|
"INVALID_CHARACTER_ERR",
|
||||||
|
function() { el.toggleAttribute(invalid_names[i]) },
|
||||||
|
`toggleAttribute("${invalid_names[i]}")`);
|
||||||
}
|
}
|
||||||
for (var i = 0; i < invalid_names.length; i++) {
|
for (var i = 0; i < invalid_names.length; i++) {
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() { el.toggleAttribute(invalid_names[i], false) })
|
assert_throws_dom(
|
||||||
|
"INVALID_CHARACTER_ERR",
|
||||||
|
function() { el.toggleAttribute(invalid_names[i], false) },
|
||||||
|
`toggleAttribute("${invalid_names[i]}", false)`);
|
||||||
}
|
}
|
||||||
}, "When qualifiedName does not match the Name production, an " +
|
}, "When qualifiedName does not match the Name production, an " +
|
||||||
"INVALID_CHARACTER_ERR exception is to be thrown. (toggleAttribute)")
|
"INVALID_CHARACTER_ERR exception is to be thrown. (toggleAttribute)")
|
||||||
test(function() {
|
|
||||||
var el = document.getElementById("test2")
|
|
||||||
for (var i = 0; i < el.children.length; i++) {
|
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() {
|
|
||||||
el.children[i].toggleAttribute("~", false)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
for (var i = 0; i < el.children.length; i++) {
|
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() {
|
|
||||||
el.children[i].toggleAttribute("~")
|
|
||||||
})
|
|
||||||
}
|
|
||||||
for (var i = 0; i < el.children.length; i++) {
|
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() {
|
|
||||||
el.children[i].toggleAttribute("~", true)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}, "When qualifiedName does not match the Name production, an " +
|
|
||||||
"INVALID_CHARACTER_ERR exception is to be thrown, even if the attribute " +
|
|
||||||
"is already present. (toggleAttribute)")
|
|
||||||
|
|
||||||
// Step 2
|
// Step 2
|
||||||
test(function() {
|
test(function() {
|
||||||
|
@ -151,16 +135,6 @@ test(function() {
|
||||||
}
|
}
|
||||||
}, "When qualifiedName does not match the Name production, an " +
|
}, "When qualifiedName does not match the Name production, an " +
|
||||||
"INVALID_CHARACTER_ERR exception is to be thrown. (setAttribute)")
|
"INVALID_CHARACTER_ERR exception is to be thrown. (setAttribute)")
|
||||||
test(function() {
|
|
||||||
var el = document.getElementById("test2")
|
|
||||||
for (var i = 0; i < el.children.length; i++) {
|
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() {
|
|
||||||
el.children[i].setAttribute("~", "test")
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}, "When qualifiedName does not match the Name production, an " +
|
|
||||||
"INVALID_CHARACTER_ERR exception is to be thrown, even if the attribute " +
|
|
||||||
"is already present. (setAttribute)")
|
|
||||||
|
|
||||||
// Step 2
|
// Step 2
|
||||||
test(function() {
|
test(function() {
|
||||||
|
@ -237,17 +211,6 @@ test(function() {
|
||||||
}, "When qualifiedName does not match the Name production, an " +
|
}, "When qualifiedName does not match the Name production, an " +
|
||||||
"INVALID_CHARACTER_ERR exception is to be thrown. (setAttributeNS)")
|
"INVALID_CHARACTER_ERR exception is to be thrown. (setAttributeNS)")
|
||||||
|
|
||||||
test(function() {
|
|
||||||
var el = document.getElementById("test2")
|
|
||||||
for (var i = 0; i < el.children.length; i++) {
|
|
||||||
assert_throws_dom("INVALID_CHARACTER_ERR", function() {
|
|
||||||
el.children[i].setAttributeNS(null, "~", "test")
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}, "When qualifiedName does not match the Name production, an " +
|
|
||||||
"INVALID_CHARACTER_ERR exception is to be thrown, even if the attribute " +
|
|
||||||
"is already present. (setAttributeNS)")
|
|
||||||
|
|
||||||
// Step 2
|
// Step 2
|
||||||
test(function() {
|
test(function() {
|
||||||
var el = document.createElement("foo")
|
var el = document.createElement("foo")
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
var invalid_names = ["", "invalid^Name", "\\", "'", '"', "0", "0:a"] // XXX
|
var invalid_names = [""] // XXX
|
||||||
var valid_names = ["x", "X", ":", "a:0"]
|
var valid_names = ["x", "X", ":", "a:0", "invalid^Name", "\\", "'", '"', "0", "0:a", ":a", "x:y:x", "~"]
|
||||||
var invalid_qnames = [":a", "b:", "x:y:z"] // XXX
|
var invalid_qnames = ["b:"] // XXX
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue