Files
ladybird/Tests/LibWeb/Text/input/wpt-import/css/cssom/at-namespace.html
Callum Law 6584ae0080 LibWeb: Treat CSS selectors containing undeclared namespaces as invalid
Selectors containing undeclared namespaces should be considered invalid,
not just not matching any elements.

Gains us 3 new WPT passes.
2025-06-24 12:51:12 +01:00

30 lines
1.1 KiB
HTML

<!doctype html>
<title>CSS Test: @namespace in CSSOM is not severely broken</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1464865">
<link rel="help" href="https://drafts.csswg.org/cssom/#insert-a-css-rule">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<style id="s">
div { color: green }
</style>
<div>Should be green</div>
<script>
test(function() {
assert_throws_dom("InvalidStateError", function() {
s.sheet.insertRule('@namespace myhtml url("http://www.w3.org/1999/xhtml")', 0);
});
assert_equals(s.sheet.cssRules.length, 1, "Shouldn't have been inserted");
assert_throws_dom("SyntaxError", function() {
s.sheet.insertRule("myhtml|div { color: red !important }", 0);
});
assert_equals(s.sheet.cssRules.length, 1);
assert_equals(
getComputedStyle(document.querySelector("div")).color,
"rgb(0, 128, 0)",
"Namespace shouldn't be registered"
);
});
</script>