summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/filter-effects/animation/filter-interpolation-001.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/filter-effects/animation/filter-interpolation-001.html')
-rw-r--r--testing/web-platform/tests/css/filter-effects/animation/filter-interpolation-001.html116
1 files changed, 116 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/filter-effects/animation/filter-interpolation-001.html b/testing/web-platform/tests/css/filter-effects/animation/filter-interpolation-001.html
new file mode 100644
index 0000000000..62fcbf0a5d
--- /dev/null
+++ b/testing/web-platform/tests/css/filter-effects/animation/filter-interpolation-001.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>filter interpolation</title>
+ <link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
+ <meta name="assert" content="Matching lists interpolate.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/css/support/interpolation-testcommon.js"></script>
+ <style>
+ .parent {
+ filter: hue-rotate(30deg);
+ }
+ .target {
+ display: inline-block;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ color: white;
+ margin-right: 2px;
+ filter: hue-rotate(10deg);
+ }
+ .expected {
+ margin-right: 20px;
+ }
+ .test {
+ padding-bottom: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <script>
+ 'use strict';
+
+ test_interpolation({
+ property: 'filter',
+ from: 'hue-rotate(0deg) blur(6px)',
+ to: 'hue-rotate(180deg) blur(10px)'
+ }, [
+ {at: -0.5, expect: 'hue-rotate(-90deg) blur(4px)'},
+ {at: 0, expect: 'hue-rotate(0deg) blur(6px)'},
+ {at: 0.25, expect: 'hue-rotate(45deg) blur(7px)'},
+ {at: 0.5, expect: 'hue-rotate(90deg) blur(8px)'},
+ {at: 1, expect: 'hue-rotate(180deg) blur(10px)'},
+ {at: 1.5, expect: 'hue-rotate(270deg) blur(12px)'}
+ ]);
+
+ // Matching lists with differing units:
+ test_interpolation({
+ property: 'filter',
+ from: 'hue-rotate(80deg) blur(6mm)',
+ to: 'hue-rotate(100grad) blur(1cm)'
+ }, [
+ {at: -0.5, expect: 'hue-rotate(75deg) blur(4mm)'},
+ {at: 0, expect: 'hue-rotate(80deg) blur(6mm)'},
+ {at: 0.25, expect: 'hue-rotate(82.5deg) blur(7mm)'},
+ {at: 0.5, expect: 'hue-rotate(85deg) blur(8mm)'},
+ {at: 1, expect: 'hue-rotate(90deg) blur(10mm)'},
+ {at: 1.5, expect: 'hue-rotate(95deg) blur(12mm)'}
+ ]);
+
+ test_interpolation({
+ property: 'filter',
+ from: neutralKeyframe,
+ to: 'hue-rotate(20deg)',
+ }, [
+ {at: -0.5, expect: 'hue-rotate(5deg)'},
+ {at: 0, expect: 'hue-rotate(10deg)'},
+ {at: 0.3, expect: 'hue-rotate(13deg)'},
+ {at: 0.6, expect: 'hue-rotate(16deg)'},
+ {at: 1, expect: 'hue-rotate(20deg)'},
+ {at: 1.5, expect: 'hue-rotate(25deg)'},
+ ]);
+
+ test_interpolation({
+ property: 'filter',
+ from: 'initial',
+ to: 'hue-rotate(20deg)',
+ }, [
+ {at: -0.5, expect: 'hue-rotate(-10deg)'},
+ {at: 0, expect: 'hue-rotate(0deg)'},
+ {at: 0.3, expect: 'hue-rotate(6deg)'},
+ {at: 0.6, expect: 'hue-rotate(12deg)'},
+ {at: 1, expect: 'hue-rotate(20deg)'},
+ {at: 1.5, expect: 'hue-rotate(30deg)'},
+ ]);
+
+ test_interpolation({
+ property: 'filter',
+ from: 'inherit',
+ to: 'hue-rotate(20deg)',
+ }, [
+ {at: -0.5, expect: 'hue-rotate(35deg)'},
+ {at: 0, expect: 'hue-rotate(30deg)'},
+ {at: 0.3, expect: 'hue-rotate(27deg)'},
+ {at: 0.6, expect: 'hue-rotate(24deg)'},
+ {at: 1, expect: 'hue-rotate(20deg)'},
+ {at: 1.5, expect: 'hue-rotate(15deg)'},
+ ]);
+
+ test_interpolation({
+ property: 'filter',
+ from: 'unset',
+ to: 'hue-rotate(20deg)',
+ }, [
+ {at: -0.5, expect: 'hue-rotate(-10deg)'},
+ {at: 0, expect: 'hue-rotate(0deg)'},
+ {at: 0.3, expect: 'hue-rotate(6deg)'},
+ {at: 0.6, expect: 'hue-rotate(12deg)'},
+ {at: 1, expect: 'hue-rotate(20deg)'},
+ {at: 1.5, expect: 'hue-rotate(30deg)'},
+ ]);
+ </script>
+ </body>
+</html>