Files
sousa-gecko/testing/web-platform/tests/html/semantics/document-metadata/the-link-element/link-rel-attribute-tokenization.html
T
Tim van der Lippe f8c3914167 Bug 2040786 [wpt PR 59979] - wpt: Fix link element tests, a=testonly
Automatic update from web-platform-tests
wpt: Fix link element tests

Per discussion in WHATWG [1] these tests are wrong and should
wait for the load event instead of being main thread blocked.

[1]: https://matrix.to/#/!AGetWbsMpFPdSgUrbs:matrix.org/$UicaT9m71QFd4FgtevWQeQjS8zFiVDQfVywk6gB25ns?via=matrix.org&via=mozilla.org&via=igalia.com

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>

--

wpt-commits: d53551fbd5999bac63b8fecc5d017412242444b9
wpt-pr: 59979
2026-05-22 14:16:52 +00:00

37 lines
1.6 KiB
HTML

<!DOCTYPE html>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<link id=light-link rel=stylesheet href=resources/link-rel-attribute.css>
<div id=light-div class=green></div>
<script>
async function testLinkRelModification(t, testDiv, testLink) {
const watcher = new EventWatcher(t, testLink, [ 'load' ]);
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 128, 0)");
testLink.setAttribute("rel", "test\u000Bstylesheet");
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 0, 0)");
testLink.setAttribute("rel", "test\u000Cstylesheet");
await watcher.wait_for('load');
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 128, 0)");
testLink.removeAttribute("rel");
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 0, 0)");
testLink.setAttribute("rel", "\u0009\u000A\u000C\u000D\u0020stylesheet");
await watcher.wait_for('load');
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 128, 0)");
testLink.removeAttribute("rel");
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 0, 0)");
testLink.setAttribute("rel", "\u0009\u000A\u000C\u000D\u0020stylesheet\u0009\u000A\u000C\u000D\u0020††††");
await watcher.wait_for('load');
assert_equals(getComputedStyle(testDiv).color, "rgb(0, 128, 0)");
}
promise_test(async (t) => {
await testLinkRelModification(t,
document.querySelector("#light-div"),
document.querySelector("#light-link"));
}, "The rel attribute needs to handle ASCII whitespace correctly");
</script>