LibWeb: Implement Node.isDefaultNamespace()

This method accepts a namespace URI as an argument and returns true if
the given URI is the default namespace on the given node, false
otherwise.
This commit is contained in:
Tim Ledbetter 2024-07-17 14:42:45 +01:00 committed by Alexander Kalenik
commit 055c902a37
Notes: sideshowbarker 2024-07-18 23:46:11 +09:00
5 changed files with 59 additions and 1 deletions

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
function testIsDefaultNamespace(node, prefix, name) {
let prefixName = prefix;
if (prefixName !== null)
prefixName = `"${prefix}"`;
println(`${name}.isDefaultNamespace(${prefixName}): ${node.isDefaultNamespace(prefix)}`);
}
test(() => {
const documentFragment = document.createDocumentFragment();
testIsDefaultNamespace(documentFragment, null, "documentFragment");
testIsDefaultNamespace(documentFragment, "", "documentFragment");
testIsDefaultNamespace(documentFragment, "foo", "documentFragment");
testIsDefaultNamespace(documentFragment, "xmlms", "documentFragment");
const docType = document.doctype;
testIsDefaultNamespace(docType, null, "docType");
testIsDefaultNamespace(docType, "", "docType");
testIsDefaultNamespace(docType, "foo", "docType");
testIsDefaultNamespace(docType, "xmlms", "docType");
const element = document.createElementNS("namespace", "prefix:element");
testIsDefaultNamespace(element, null, "element");
testIsDefaultNamespace(element, "", "element");
testIsDefaultNamespace(element, "foo", "element");
testIsDefaultNamespace(element, "xmlms", "element");
});
</script>