| <!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> |