| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>test background 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/#variables-in-shorthands"> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| .testArea { |
| width: 16px; |
| height: 16px; |
| display: inline-block; |
| background-image: url("../../../../images/green.png"); |
| } |
| </style> |
| </head> |
| <body> |
| <div id="log"></div> |
| <div class="testArea" id="background-attachment" style="--foo: fixed; background-attachment: var(--foo);"></div> |
| <div class="testArea" id="background-clip" style="--foo: padding-box; background-clip: var(--foo);"></div> |
| <div class="testArea" id="background-color" style="background-image: none; --foo: rgb(0, 128, 0); background-color: var(--foo);"></div> |
| <div class="testArea" id="background-origin" style="--foo: content-box; background-origin: var(--foo);"></div> |
| <div class="testArea" id="background-position" style="--foo: 0% 50%; background-position: var(--foo);"></div> |
| <div class="testArea" id="background-repeat" style="--foo: repeat-x; background-repeat: var(--foo);"></div> |
| <div class="testArea" id="background-size" style="--foo: cover; background-size: var(--foo);"></div> |
| <div class="testArea" id="background-image-url" style="--foo: url('../../../../images/green-16x16.png'); background-image: var(--foo);"></div> |
| <div class="testArea" id="background-image-linear-gradient" style="--location: bottom; background-image: linear-gradient(to var(--location), rgb(30,87,0) 0%,rgb(125,232,185) 100%);"></div> |
| <div class="testArea" id="background-image-radial-gradient" style="--shape: ellipse; --location: farthest-corner; background-image: radial-gradient(var(--shape) var(--location) at 25px 25px, black 10%, green 90%);"></div> |
| <script type="text/javascript"> |
| "use strict"; |
| |
| let templates = [ |
| { |
| testName:"background-attachment", |
| propertyName:"background-attachment", |
| expectedValue:"fixed", |
| }, |
| { |
| testName:"background-clip", |
| propertyName:"background-clip", |
| expectedValue:"padding-box", |
| }, |
| { |
| testName:"background-color", |
| propertyName:"background-color", |
| expectedValue:"rgb(0, 128, 0)", |
| }, |
| { |
| testName:"background-origin", |
| propertyName:"background-origin", |
| expectedValue:"content-box", |
| }, |
| { |
| testName:"background-position", |
| propertyName:"background-position", |
| expectedValue:"0% 50%", |
| }, |
| { |
| testName:"background-repeat", |
| propertyName:"background-repeat", |
| expectedValue:"repeat-x", |
| }, |
| { |
| testName:"background-size", |
| propertyName:"background-size", |
| expectedValue:"cover", |
| }, |
| { |
| testName:"background-image-url", |
| propertyName:"background-image", |
| expectedValue:"url(\"../../../../images/green-16x16.png\")", |
| }, |
| { |
| testName:"background-image-linear-gradient", |
| propertyName:"background-image", |
| expectedValue:"linear-gradient(rgb(30, 87, 0) 0%, rgb(125, 232, 185) 100%)", |
| }, |
| { |
| testName:"background-image-radial-gradient", |
| propertyName:"background-image", |
| expectedValue:"radial-gradient(at 25px 25px, black 10%, green 90%)", |
| }, |
| ]; |
| |
| templates.forEach(function (template) { |
| test( function () { |
| let target = document.getElementById(template.testName); |
| let computedStyle = window.getComputedStyle(target); |
| let value = computedStyle.getPropertyValue(template.propertyName); |
| |
| if (template.testName != "background-image-url") |
| { |
| assert_equals(value, template.expectedValue, "Expected Value should match actual value"); |
| } |
| else |
| { |
| assert_regexp_match(value, /green-16x16/, "Actual value should contain expected substring"); |
| } |
| }, template.testName); |
| }); |
| </script> |
| </body> |
| </html> |