Index: LayoutTests/animations/interpolation/translate-interpolation.html |
diff --git a/LayoutTests/animations/interpolation/translate-interpolation.html b/LayoutTests/animations/interpolation/translate-interpolation.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c44ac9a4f89f44c22d939c1e3e8cd8f27949b553 |
--- /dev/null |
+++ b/LayoutTests/animations/interpolation/translate-interpolation.html |
@@ -0,0 +1,152 @@ |
+<!DOCTYPE html> |
+<meta charset="UTF-8"> |
+<style> |
+.parent { |
+ translate: 100px 200px 300px; |
+} |
+.target { |
+ width: 100px; |
+ height: 100px; |
+ background-color: black; |
+} |
+.expected { |
+ background-color: green; |
+} |
+</style> |
+<template id="target-template"> |
+<div class="parent"> |
+ <div class="target"></div> |
+</div> |
+</template> |
+<script src="resources/interpolation-test.js"></script> |
+<script> |
+assertInterpolation({ |
+ property: 'translate', |
+ from: '-100px', |
+ to: '100px', |
+}, [ |
+ {at: -1, is: '-300px'}, |
+ {at: 0, is: '-100px'}, |
+ {at: 0.25, is: '-50px'}, |
+ {at: 0.75, is: '50px'}, |
+ {at: 1, is: '100px'}, |
+ {at: 2, is: '300px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: '-100%', |
+ to: '100%', |
+}, [ |
+ {at: -1, is: '-300%'}, |
+ {at: 0, is: '-100%'}, |
+ {at: 0.25, is: '-50%'}, |
+ {at: 0.75, is: '50%'}, |
+ {at: 1, is: '100%'}, |
+ {at: 2, is: '300%'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: '-100px -50px', |
+ to: '100px 50px', |
+}, [ |
+ {at: -1, is: '-300px -150px'}, |
+ {at: 0, is: '-100px -50px'}, |
+ {at: 0.25, is: '-50px -25px'}, |
+ {at: 0.75, is: '50px 25px'}, |
+ {at: 1, is: '100px 50px'}, |
+ {at: 2, is: '300px 150px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: '-100px -50px 100px', |
+ to: '100px 50px 0px', |
+}, [ |
+ {at: -1, is: '-300px -150px 200px'}, |
+ {at: 0, is: '-100px -50px 100px'}, |
+ {at: 0.25, is: '-50px -25px 75px'}, |
+ {at: 0.75, is: '50px 25px 25px'}, |
+ {at: 1, is: '100px 50px 0px'}, |
+ {at: 2, is: '300px 150px -100px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: 'inherit', |
+ to: '200px 100px 200px', |
+}, [ |
+ {at: -1, is: '0px 300px 400px'}, |
+ {at: 0, is: '100px 200px 300px'}, |
+ {at: 0.25, is: '125px 175px 275px'}, |
+ {at: 0.75, is: '175px 125px 225px'}, |
+ {at: 1, is: '200px 100px 200px'}, |
+ {at: 2, is: '300px 0px 100px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: '200px 100px 200px', |
+ to: 'inherit', |
+}, [ |
+ {at: -1, is: '300px 0px 100px'}, |
+ {at: 0, is: '200px 100px 200px'}, |
+ {at: 0.25, is: '175px 125px 225px'}, |
+ {at: 0.75, is: '125px 175px 275px'}, |
+ {at: 1, is: '100px 200px 300px'}, |
+ {at: 2, is: '0px 300px 400px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: 'initial', |
+ to: '200px 100px 200px', |
+}, [ |
+ {at: -1, is: '-200px -100px -200px'}, |
+ {at: 0, is: '0px'}, |
+ {at: 0.25, is: '50px 25px 50px'}, |
+ {at: 0.75, is: '150px 75px 150px'}, |
+ {at: 1, is: '200px 100px 200px'}, |
+ {at: 2, is: '400px 200px 400px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: '200px 100px 200px', |
+ to: 'initial', |
+}, [ |
+ {at: -1, is: '400px 200px 400px'}, |
+ {at: 0, is: '200px 100px 200px'}, |
+ {at: 0.25, is: '150px 75px 150px'}, |
+ {at: 0.75, is: '50px 25px 50px'}, |
+ {at: 1, is: '0px'}, |
+ {at: 2, is: '-200px -100px -200px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: 'initial', |
+ to: 'inherit', |
+}, [ |
+ {at: -1, is: '-100px -200px -300px'}, |
+ {at: 0, is: '0px'}, |
+ {at: 0.25, is: '25px 50px 75px'}, |
+ {at: 0.75, is: '75px 150px 225px'}, |
+ {at: 1, is: '100px 200px 300px'}, |
+ {at: 2, is: '200px 400px 600px'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'translate', |
+ from: 'inherit', |
+ to: 'initial', |
+}, [ |
+ {at: -1, is: '200px 400px 600px'}, |
+ {at: 0, is: '100px 200px 300px'}, |
+ {at: 0.25, is: '75px 150px 225px'}, |
+ {at: 0.75, is: '25px 50px 75px'}, |
+ {at: 1, is: '0px'}, |
+ {at: 2, is: '-100px -200px -300px'}, |
+]); |
+</script> |