Files
sousa-gecko/testing/web-platform/tests/sanitizer-api/sethtml-context.tentative.html
T
Daniel Vogelheim 7ea367b743 Bug 2043082 [wpt PR 60204] - [Sanitizer] Fix test for context element QName., a=testonly
Automatic update from web-platform-tests
[Sanitizer] Fix test for context element QName.

The current test uses operator== for QName comparison and is hence
sensitive to the element prefix. This is not what the spec says.
Fix this use `Matches`, which correctly compares localname and namespace.

Fix: 515424194
Change-Id: I9d6d7056b7b3599448481073315cf8d40d8ae39b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7867541
Commit-Queue: Daniel Vogelheim <vogelheim@chromium.org>
Reviewed-by: Yifan Luo <lyf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1636833}

--

wpt-commits: 5a5a8f048bb5198b8fab25a6ed363d1fc3fcd5fb
wpt-pr: 60204
2026-06-02 10:23:56 +00:00

74 lines
2.3 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
// Test setHTML / setHTMLUnsafe behaviour with unsafe context.
// Specifically, test step 1 of:
// https://wicg.github.io/sanitizer-api/#set-and-filter-html
test(_ => {
let context = document.createElement("div");
context.setHTML("abc");
assert_equals(context.innerHTML, "abc");
}, "setHTML with benign context.");
test(_ => {
let context = document.createElement("div");
context.setHTML("abc");
assert_equals(context.innerHTML, "abc");
}, "setHTMLUnsafe with benign context.");
test(_ => {
let context = document.createElement("script");
context.setHTML("abc");
assert_equals(context.innerHTML, "");
}, "setHTML with script context.");
test(_ => {
let context = document.createElement("script");
context.setHTMLUnsafe("abc");
assert_equals(context.innerHTML, "abc");
}, "setHTMLUnsafe with script context.");
test(_ => {
let context = document.createElementNS("http://www.w3.org/2000/svg", "script");
context.setHTML("abc");
assert_equals(context.innerHTML, "");
}, "setHTML with svg:script context.");
test(_ => {
let context = document.createElementNS("http://www.w3.org/2000/svg", "script");
context.setHTMLUnsafe("abc");
assert_equals(context.innerHTML, "abc");
}, "setHTMLUnsafe with svg:script context.");
test(_ => {
let context = document.createElementNS("http://www.w3.org/1999/xhtml", "x:script");
context.setHTML("abc");
assert_equals(context.innerHTML, "");
}, "setHTML with script with prefix context.");
test(_ => {
let context = document.createElementNS("http://www.w3.org/1999/xhtml", "x:script");
context.setHTMLUnsafe("abc");
assert_equals(context.innerHTML, "abc");
}, "setHTMLUnsafe with script with prefix context.");
test(_ => {
let context = document.createElementNS("http://www.w3.org/2000/svg", "x:script");
context.setHTML("abc");
assert_equals(context.innerHTML, "");
}, "setHTML with svg:script with prefix context.");
test(_ => {
let context = document.createElementNS("http://www.w3.org/2000/svg", "x:script");
context.setHTMLUnsafe("abc");
assert_equals(context.innerHTML, "abc");
}, "setHTMLUnsafe with svg:script with prefix context.");
</script>
</body>
</html>