diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-variables/variable-first-letter.html')
-rw-r--r-- | testing/web-platform/tests/css/css-variables/variable-first-letter.html | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-variables/variable-first-letter.html b/testing/web-platform/tests/css/css-variables/variable-first-letter.html new file mode 100644 index 0000000000..da6daba42f --- /dev/null +++ b/testing/web-platform/tests/css/css-variables/variable-first-letter.html @@ -0,0 +1,77 @@ +<!DOCTYPE html> +<html> +<head> + <title>CSS Variables with ::first-letter pseudo-element.</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 not directly specified in the spec but should work --> + <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> + #div1::first-letter { + color: var(--my-color); + --my-color: rgb(0, 0, 255); + } + + #div2::first-letter { + font-size: var(--my-font-size); + --my-font-size: 25px; + } + + #div3::first-letter { + font-weight: var(--my-font-weight); + --my-font-weight: 900; + } + + #div4::first-letter { + position: var(--my-position); + --my-position: absolute; + } + + #div5::first-letter { + color: var(--my-color1); + --my-color1: var(--my-color2); + --my-color2: rgb(0, 0, 255); + } + + #div6::first-letter { + position: var(--my-position1); + --my-position1: var(--my-position2); + --my-position2: absolute; + } + </style> +</head> +<body> + <div id="div1">CSS variable defining 'color' property should be applied to ::first-letter and its color should be blue.</div> + <div id="div2">CSS variable defining 'font-size' property should be applied to ::first-letter and its font-size should be 25px.</div> + <div id="div3">CSS variable defining 'font-weight' property should be applied to ::first-letter and its font-weight should be 900.</div> + <div id="div4">CSS variable defining 'position' property should not be applied to ::first-letter and its position should be static.</div> + <div id="div5">CSS variable referencing another CSS variable that defines 'color' property should be applied to ::first-letter and its color should be blue.</div> + <div id="div6">CSS variable referencing another CSS variable that defines 'position' property should not be applied to ::first-letter and its position should be static.</div> + + <script> + "use strict"; + var testcases = [ + { elementId: "div1", property: "color", expectedValue: "rgb(0, 0, 255)", testName: "color" }, + { elementId: "div2", property: "font-size", expectedValue: "25px", testName: "font-size" }, + { elementId: "div3", property: "font-weight", expectedValue: "900", testName: "font-weight" }, + { elementId: "div4", property: "position", expectedValue: "static", testName: "position" }, + { elementId: "div5", property: "color", expectedValue: "rgb(0, 0, 255)", testName: "nested color" }, + { elementId: "div6", property: "position", expectedValue: "static", testName: "abspos" }, + ]; + + testcases.forEach(function (tc) { + test( function () { + var elem = document.getElementById(tc.elementId); + var actualValue = window.getComputedStyle(elem, ':first-letter').getPropertyValue(tc.property); + assert_equals(tc.expectedValue, actualValue); + }, tc.testName); + }); + </script> +</body> +</html> + |