| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>test filter function 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: 250px; |
| height: 167px; |
| display: inline-block; |
| background-image: url("../../../../images/a.jpg"); |
| background-size: contain; |
| } |
| </style> |
| </head> |
| <body> |
| <div id="log"></div> |
| <div class="testArea" id="blur" style="--blur: 15px; filter: blur(var(--blur));"></div> |
| <div class="testArea" id="brightness" style="--foo: 0.5; filter: brightness(var(--foo));"></div> |
| <div class="testArea" id="contrast" style="--foo: 2; filter: contrast(var(--foo));"></div> |
| <div class="testArea" id="grayscale" style="--foo: 1; filter: grayscale(var(--foo));"></div> |
| <div class="testArea" id="invert" style="--foo: 1; filter: invert(var(--foo));"></div> |
| <div class="testArea" id="sepia" style="--foo: 1; filter: sepia(var(--foo));"></div> |
| <div class="testArea" id="saturate" style="--foo: 8; filter: saturate(var(--foo));"></div> |
| <script type="text/javascript"> |
| "use strict"; |
| |
| let templates = [ |
| { |
| testName:"blur", |
| expectedValue:"blur(15px)", |
| }, |
| { |
| testName:"brightness", |
| expectedValue:"brightness(0.5)", |
| }, |
| { |
| testName:"contrast", |
| expectedValue:"contrast(2)", |
| }, |
| { |
| testName:"grayscale", |
| expectedValue:"grayscale(1)", |
| }, |
| { |
| testName:"invert", |
| expectedValue:"invert(1)", |
| }, |
| { |
| testName:"sepia", |
| expectedValue:"sepia(1)", |
| }, |
| { |
| testName:"saturate", |
| expectedValue:"saturate(8)", |
| }, |
| ]; |
| |
| templates.forEach(function (template) { |
| test( function () { |
| let target = document.getElementById(template.testName); |
| let computedStyle = window.getComputedStyle(target); |
| let value = computedStyle.getPropertyValue("filter"); |
| assert_equals(value, template.expectedValue, "Expected Value should match actual value"); |
| }, template.testName); |
| }); |
| </script> |
| </body> |
| </html> |