73 lines
1.5 KiB
HTML
73 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<title>Custom Functions: Local var() substitution</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-mixins-1/#locally-substitute-a-var">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="resources/utils.js"></script>
|
|
|
|
<div id=target></div>
|
|
<div id=main></div>
|
|
|
|
<!-- To pass, a test must produce matching computed values for --actual and
|
|
--expected on #target. -->
|
|
|
|
<!-- Fallbacks -->
|
|
|
|
<template data-name="Fallback directly in result">
|
|
<style>
|
|
@function --f() {
|
|
result: var(--unknown, PASS);
|
|
}
|
|
#target {
|
|
--actual: --f();
|
|
--expected: PASS;
|
|
}
|
|
</style>
|
|
</template>
|
|
|
|
<template data-name="Fallback via present, but invalid local">
|
|
<style>
|
|
@function --f() {
|
|
--x: var(--unknown);
|
|
result: var(--x, PASS);
|
|
}
|
|
#target {
|
|
--actual: --f();
|
|
--expected: PASS;
|
|
}
|
|
</style>
|
|
</template>
|
|
|
|
<template data-name="Fallback is locally resolved (result)">
|
|
<style>
|
|
@function --f() {
|
|
--x: PASS;
|
|
result: var(--unknown, var(--x));
|
|
}
|
|
#target {
|
|
--x: FAIL;
|
|
--actual: --f();
|
|
--expected: PASS;
|
|
}
|
|
</style>
|
|
</template>
|
|
|
|
<template data-name="Fallback is locally resolved (local var)">
|
|
<style>
|
|
@function --f() {
|
|
--y: PASS;
|
|
--x: var(--unknown, var(--y));
|
|
result: var(--x);
|
|
}
|
|
#target {
|
|
--x: FAIL1;
|
|
--Y: FAIL2;
|
|
--actual: --f();
|
|
--expected: PASS;
|
|
}
|
|
</style>
|
|
</template>
|
|
|
|
<script>
|
|
test_all_templates();
|
|
</script>
|