Tests: Import text-shadow parsing test

Done in a distinct commit to show progress in following commits
This commit is contained in:
Callum Law
2025-09-15 15:09:40 +12:00
committed by Sam Atkins
parent c3b0eabf18
commit 5d8a859457
Notes: github-actions[bot] 2025-09-18 14:24:00 +00:00
4 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Text Decoration Test: getComputedStyle().textShadow</title>
<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#text-shadow-property">
<meta name="assert" content="text-shadow computed value is none or a list, each item a color and lengths.">
<script src="../../../../resources/testharness.js"></script>
<script src="../../../../resources/testharnessreport.js"></script>
<script src="../../../../css/support/computed-testcommon.js"></script>
<style>
#target {
font-size: 40px;
color: blue;
}
</style>
<div id="target"></div>
<script>
'use strict';
const red = 'rgb(255, 0, 0)';
const lime = 'rgb(0, 255, 0)';
const currentColor = 'rgb(0, 0, 255)';
test_computed_value("text-shadow", "none");
test_computed_value("text-shadow", "10px 20px", currentColor + " 10px 20px 0px");
test_computed_value("text-shadow", "red 10px 20px 30px", red + " 10px 20px 30px");
test_computed_value("text-shadow", "calc(0.5em + 10px) calc(0.5em + 10px) calc(0.5em + 10px)", currentColor + " 30px 30px 30px");
test_computed_value("text-shadow", "calc(-0.5em + 10px) calc(-0.5em + 10px) calc(-0.5em + 10px)", currentColor + " -10px -10px 0px");
test_computed_value("text-shadow", "10px 20px, 30px 40px", currentColor + " 10px 20px 0px, " + currentColor + " 30px 40px 0px");
test_computed_value("text-shadow", "lime 10px 20px 30px, red 40px 50px", lime + " 10px 20px 30px, " + red + " 40px 50px 0px");
</script>

View File

@@ -0,0 +1,20 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Text Decoration Test: Parsing text-shadow with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#text-shadow-property">
<meta name="assert" content="text-shadow supports only the grammar 'none | [ <color>? && <length>{2,3} ]#'.">
<script src="../../../../resources/testharness.js"></script>
<script src="../../../../resources/testharnessreport.js"></script>
<script src="../../../../css/support/parsing-testcommon.js"></script>
<script>
test_invalid_value("text-shadow", "auto");
test_invalid_value("text-shadow", "10px 20px -30px");
test_invalid_value("text-shadow", "10px");
test_invalid_value("text-shadow", "10px 20px 30px 40px");
test_invalid_value("text-shadow", "red 10px 20px blue");
test_invalid_value("text-shadow", "10% 20px");
test_invalid_value("text-shadow", "10px 20% 30px");
test_invalid_value("text-shadow", "lime 10px 20px 30%");
</script>