fune/testing/web-platform/tests/css/css-variables/variable-substitution-shadow-properties.html
Steinar H. Gunderson eb32b956cc Bug 1827396 [wpt PR 39472] - Strip comment tokens when parsing pending substitutions., a=testonly
Automatic update from web-platform-tests
Strip comment tokens when parsing pending substitutions.

CSSPropertyParser::ParseValue() isn't ready for comment tokens,
which we now preserve since we need them for the original text.
Strip them out right before parsing; as the comment says,
this probably isn't optimal, but it shouldn't be too bad either.

Fixed: 1430953
Fixed: 1431444
Change-Id: I3f1039ddd4424b1d0a72e42cc2ba4fa1a243ca0c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4414717
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1128618}

--

wpt-commits: ffc28f3efccc3281f289c7f6d825f2a64569909b
wpt-pr: 39472
2023-04-14 11:16:33 +00:00

57 lines
2.1 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>test shadow property variable substitution</title>
<meta rel="author" title="Kevin Babbitt">
<meta rel="author" title="Greg Whitworth">
<link rel="author" title="Microsoft Corporation" href="http://microsoft.com" />
<link rel="help" href="http://www.w3.org/TR/css-variables-1/#defining-variables">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
.testArea {
width: 100px;
height: 100px;
display: inline-block;
}
</style>
</head>
<body>
<div id="log"></div>
<div class="testArea" id="box-shadow" style="--foo: rgb(0, 128, 0); box-shadow: 1px 1px 1px 1px var(--foo);">box-shadow</div>
<div class="testArea" id="box-shadow-with-comment" style="--foo: 1px /* hello */ rgb(0, 128, 0); box-shadow: 1px 1px 1px var(--foo);">box-shadow</div>
<div class="testArea" id="text-shadow" style="--foo: rgb(0, 128, 0); text-shadow: 1px 1px 1px var(--foo);">text-shadow</div>
<script type="text/javascript">
"use strict";
let templates = [
{
testName:"box-shadow",
property:"box-shadow",
expectedValue:"rgb(0, 128, 0) 1px 1px 1px 1px",
},
{
testName:"box-shadow-with-comment",
property:"box-shadow",
expectedValue:"rgb(0, 128, 0) 1px 1px 1px 1px",
},
{
testName:"text-shadow",
property:"text-shadow",
expectedValue:"rgb(0, 128, 0) 1px 1px 1px",
},
];
templates.forEach(function (template) {
test( function () {
let target = document.getElementById(template.testName);
let computedStyle = window.getComputedStyle(target);
let value = computedStyle.getPropertyValue(template.property);
assert_equals(value, template.expectedValue, "Expected Value should match actual value");
}, template.testName);
});
</script>
</body>
</html>