| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Parse, store, and serialize CSS variable references - shorthand properties</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/#serializing-custom-props"> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| |
| <div id="target1" style="margin: var(--prop); margin-top: 10px"></div> |
| <div id="target2" style="margin: var(--prop) !important; margin-top: 10px"></div> |
| <div id="target3" style="margin: var(--prop); margin-top: 10px !important"></div> |
| <div id="target4" style="background: var(--prop);"></div> |
| |
| <script type="text/javascript"> |
| "use strict"; |
| |
| var testcases = [ |
| { element: "target1", propertyName: "margin", expectedPropertyValue: "" }, |
| { element: "target1", propertyName: "margin-left", expectedPropertyValue: "" }, |
| { element: "target1", propertyName: "margin-top", expectedPropertyValue: "10px" }, |
| { element: "target1", propertyName: "margin-right", expectedPropertyValue: "" }, |
| { element: "target1", propertyName: "margin-bottom", expectedPropertyValue: "" }, |
| |
| { element: "target2", propertyName: "margin", expectedPropertyValue: "var(--prop)" }, |
| { element: "target2", propertyName: "margin-left", expectedPropertyValue: "" }, |
| { element: "target2", propertyName: "margin-top", expectedPropertyValue: "" }, |
| { element: "target2", propertyName: "margin-right", expectedPropertyValue: "" }, |
| { element: "target2", propertyName: "margin-bottom", expectedPropertyValue: "" }, |
| |
| { element: "target3", propertyName: "margin", expectedPropertyValue: "" }, |
| { element: "target3", propertyName: "margin-left", expectedPropertyValue: "" }, |
| { element: "target3", propertyName: "margin-top", expectedPropertyValue: "10px" }, |
| { element: "target3", propertyName: "margin-right", expectedPropertyValue: "" }, |
| { element: "target3", propertyName: "margin-bottom", expectedPropertyValue: "" }, |
| |
| { element: "target4", propertyName: "background", expectedPropertyValue: "var(--prop)" } |
| ]; |
| |
| testcases.forEach(function (testcase) { |
| test( function () { |
| var div = document.getElementById(testcase.element); |
| var actualPropertyValue = div.style.getPropertyValue(testcase.propertyName).trim(); |
| assert_equals(actualPropertyValue, testcase.expectedPropertyValue); |
| }, testcase.element + " " + testcase.propertyName); |
| }); |
| </script> |
| |
| </body> |
| </html> |