fune/testing/web-platform/tests/css/css-variables/variable-substitution-shadow-properties.html
Chris Nardi 02d309b930 Bug 1443103 [wpt PR 9800] - Correct serialization of box-shadow and text-shadow, a=testonly
Automatic update from web-platform-testsCorrect serialization of box-shadow and text-shadow

Following https://github.com/w3c/csswg-drafts/issues/2305, the canonical serialization for box-shadow was changed to the color then lengths. https://drafts.csswg.org/css-text-decor-3/#text-shadow-property also defines the canonical serialization for text-shadow as the color and then lengths. This caused the test to fail in Firefox, Chrome, and Safari. Update the test to match the spec in both instances.

wpt-commits: a835486e59a94236a55107fe34925079b33ef247
wpt-pr: 9800
wpt-commits: a835486e59a94236a55107fe34925079b33ef247
wpt-pr: 9800
2018-04-15 09:38:59 +01:00

50 lines
1.8 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" />
<!-- This is testing filters functions with var() function -->
<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="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",
expectedValue:"rgb(0, 128, 0) 1px 1px 1px 1px",
},
{
testName:"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.testName);
assert_equals(value, template.expectedValue, "Expected Value should match actual value");
}, template.testName);
});
</script>
</body>
</html>