Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test to account for links wrapped in svg #44461

Merged
merged 1 commit into from
Feb 8, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>link with rel="help" cursor tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<link rel="help" href="https://html.spec.whatwg.org/#phrasing-content-3">
<link rel="help" href="https://github.com/w3c/svgwg/issues/468">

<div id="log"></div>

<svg>
<a href="/common/blank.html?unvisited" rel="help" id="unvisited">unvisited</a>
<a href="/common/blank.html?willbevisited" rel="help" id="willbevisited">will be visited</a>
</svg>

<script>
"use strict";


test(() => {
const el = document.querySelector("#unvisited");
const style = window.getComputedStyle(el);

assert_equals(style.cursor, "pointer");
},"Unvisited help links must have pointer cursor, not help cursor");


// This test is kind of dubious. Browsers don't allow you to distinguish visited and unvisited links
// from script, for privacy reasons. So we can't really be sure that loading the iframe would make
// the link count as visited. Manually running this test turns the link purple in some browsers,
// but leaves it blue in others. Even then it's not clear whether it turned purple before or after
// the onload; this test assumes that once the iframe onload fires, it counts as visited, which
// may not be justified even in the purple-turning browsers.
//
// Still, the test doesn't really hurt. At worst it's redundant with the above.
//
// If someone comes up with a better way of testing this (i.e. something that truly guarantees that
// the link will count as "visited" for UA stylesheet purposes), then please submit a PR.
async_test(t => {
const el = document.querySelector("#willbevisited");

const iframe = document.createElement("iframe");
iframe.src = el.href;
iframe.onload = t.step_func_done(() => {
const style = window.getComputedStyle(el);
assert_equals(style.cursor, "pointer");
});

document.body.appendChild(iframe);
}, "Visited help links must have pointer cursor, not help cursor");
</script>