Files
Anders Hartvoll Ruud 3706b0b796 Bug 1973710 [wpt PR 53351] - [ident] Support ident() within var() functions (reland 2), a=testonly
Automatic update from web-platform-tests
[ident] Support ident() within var() functions (reland 2)

This CL allows e.g. var(ident("--myprop" 2)), such that it behaves
identically to var(--myprop2).

Bug: 384930424
Change-Id: Ib21a90ac19db1899fa040ab4b4449bbb05529d70
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6663861
Reviewed-by: Rune Lillesveen <[email protected]>
Commit-Queue: Anders Hartvoll Ruud <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1477862}

--

wpt-commits: 9648ac5a53d01a28626dd45572d490ca6cd8d97d
wpt-pr: 53351
2025-07-04 08:42:00 +00:00

70 lines
1.9 KiB
HTML

<!DOCTYPE html>
<title>The ident() function in var()</title>
<link rel="help" href="https://drafts.csswg.org/css-values-5/#ident">
<link rel="help" href="https://drafts.csswg.org/css-variables-1/#using-variables">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/computed-testcommon.js"></script>
<div id=target></div>
<style>
#target {
--myprop3:PASS;
--var-with-ident-fn: FAIL1;
--var-with-ident-fn: var(ident("--myprop" calc(3 * sign(1em - 1px))), FAIL2);
}
</style>
<script>
test(() => {
assert_equals(getComputedStyle(target).getPropertyValue('--var-with-ident-fn'), 'PASS');
}, 'Referencing a custom property with ident()');
</script>
<style>
#target {
--unparsed: ident("x");
}
</style>
<script>
test(() => {
assert_equals(getComputedStyle(target).getPropertyValue('--unparsed'), 'ident("x")');
}, 'ident() remains unresolved on custom properties');
</script>
<style>
#target {
--nodash: var(ident("nodash"));
}
</style>
<script>
test(() => {
assert_equals(getComputedStyle(target).getPropertyValue('--nodash'), '');
}, 'ident() causing lookup of invalid custom property');
</script>
<style>
#target {
--nodash-fallback: var(ident("nodash"), PASS);
}
</style>
<script>
test(() => {
assert_equals(getComputedStyle(target).getPropertyValue('--nodash-fallback'), 'PASS');
}, 'ident() causing lookup of invalid custom property, fallback');
</script>
<style>
:root {
--nodash-fallback-inherit: PASS;
}
#target {
--nodash-fallback-inherit: FAIL;
--nodash-fallback-inherit: var(ident("nodash"), inherit);
}
</style>
<script>
test(() => {
assert_equals(getComputedStyle(target).getPropertyValue('--nodash-fallback-inherit'), 'PASS');
}, 'ident() causing lookup of invalid custom property, fallback, CSS-wide keyword');
</script>