Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!DOCTYPE html>
<title>CSS UI Test: Allow complex calc expressions in cursor hotspot</title>
<link rel="help" href="https://drafts.csswg.org/css-ui/#cursor">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#t1 {
font-size: 20px;
cursor: url(data:image/x-icon,) calc(7 * sign(1em - 18px)) 0, auto;
}
#t2 {
cursor: url(data:image/x-icon,) calc(4 * sibling-index()) 0, auto;
}
#t3 {
cursor: url(data:image/x-icon,) calc(9) 0, auto;
}
#t4 {
cursor: url(data:image/x-icon,) calc(10 * sign(2px)) 0, auto;
}
</style>
<div>
<div id="t1"></div>
<div id="t2"></div>
<div id="t3"></div>
<div id="t4"></div>
</div>
<script>
test(() => {
assert_equals(getComputedStyle(t1).cursor, 'url("data:image/x-icon,") 7 0, auto');
}, "cursor hotspot with sign() depending on font relative units");
test(() => {
assert_equals(getComputedStyle(t2).cursor, 'url("data:image/x-icon,") 8 0, auto');
}, "cursor hotspot depending on sibling-index()");
test(() => {
assert_equals(getComputedStyle(t3).cursor, 'url("data:image/x-icon,") 9 0, auto');
}, "cursor hotspot depending on simplified numeric calc()");
test(() => {
assert_equals(getComputedStyle(t4).cursor, 'url("data:image/x-icon,") 10 0, auto');
}, "cursor hotspot depending on simplified numeric calc() with sign()");
</script>