Index: LayoutTests/animations/interpolation/rotate-interpolation.html |
diff --git a/LayoutTests/animations/interpolation/rotate-interpolation.html b/LayoutTests/animations/interpolation/rotate-interpolation.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d7076246077e1ca8a6c07b53fae02df216eefeb0 |
--- /dev/null |
+++ b/LayoutTests/animations/interpolation/rotate-interpolation.html |
@@ -0,0 +1,179 @@ |
+<!DOCTYPE html> |
+<meta charset="UTF-8"> |
+<style> |
+.parent { |
+ rotate: 90deg; |
+} |
+.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: 'rotate', |
+ from: '100deg', |
+ to: '-100deg', |
+}, [ |
+ {at: -1, is: '300deg'}, |
+ {at: 0, is: '100deg'}, |
+ {at: 0.25, is: '50deg'}, |
+ {at: 0.75, is: '-50deg'}, |
+ {at: 1, is: '-100deg'}, |
+ {at: 2, is: '-300deg'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: '100deg', |
+ to: '-100deg', |
+}, [ |
+ {at: -1, is: '300deg'}, |
+ {at: 0, is: '100deg'}, |
+ {at: 0.25, is: '50deg'}, |
+ {at: 0.75, is: '-50deg'}, |
+ {at: 1, is: '-100deg'}, |
+ {at: 2, is: '-300deg'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: '100deg 0 1 0', |
+ to: '-100deg 0 1 0', |
+}, [ |
+ {at: -1, is: '300deg 0 1 0'}, |
+ {at: 0, is: '100deg 0 1 0'}, |
+ {at: 0.25, is: '50deg 0 1 0'}, |
+ {at: 0.75, is: '-50deg 0 1 0'}, |
+ {at: 1, is: '-100deg 0 1 0'}, |
+ {at: 2, is: '-300deg 0 1 0'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: '100deg 1 -2.5 3.64', |
+ to: '-100deg 1 -2.5 3.64', |
+}, [ |
+ {at: -1, is: '300deg 1 -2.5 3.64'}, |
+ {at: 0, is: '100deg 1 -2.5 3.64'}, |
+ {at: 0.25, is: '50deg 1 -2.5 3.64'}, |
+ {at: 0.75, is: '-50deg 1 -2.5 3.64'}, |
+ {at: 1, is: '-100deg 1 -2.5 3.64'}, |
+ {at: 2, is: '-300deg 1 -2.5 3.64'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: '0deg 1 0 0', |
+ to: '10deg 0 1 0', |
+}, [ |
+ {at: -1, is: '10deg 0 -1 0'}, |
+ {at: 0, is: '0deg 1 0 0'}, |
+ {at: 0.25, is: '2.5deg 0 1 0'}, |
+ {at: 0.75, is: '7.5deg 0 1 0'}, |
+ {at: 1, is: '10deg 0 1 0'}, |
+ {at: 2, is: '20deg 0 1 0'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: '90deg 1 1 0', |
+ to: '180deg 0 1 1', |
+}, [ |
+ {at: -1, is: '120deg 0.41 -0.41 -0.82'}, |
+ {at: 0, is: '90deg 1 1 0'}, |
+ {at: 0.25, is: '82.76deg 0.8 0.27 -0.53'}, |
+ {at: 0.75, is: '138.89deg 0.27 -0.54 -0.8'}, |
+ {at: 1, is: '180deg 0 1 1'}, |
+ {at: 2, is: '90deg 0.71 0 -0.71'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: 'inherit', |
+ to: '0deg', |
+}, [ |
+ {at: -1, is: '180deg'}, |
+ {at: 0, is: '90deg'}, |
+ {at: 0.25, is: '67.5deg'}, |
+ {at: 0.75, is: '22.5deg'}, |
+ {at: 1, is: '0deg'}, |
+ {at: 2, is: '-90deg'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: '0deg', |
+ to: 'inherit', |
+}, [ |
+ {at: -1, is: '-90deg'}, |
+ {at: 0, is: '0deg'}, |
+ {at: 0.25, is: '22.5deg'}, |
+ {at: 0.75, is: '67.5deg'}, |
+ {at: 1, is: '90deg'}, |
+ {at: 2, is: '180deg'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: 'initial', |
+ to: '90deg', |
+}, [ |
+ {at: -1, is: '-90deg'}, |
+ {at: 0, is: '0deg'}, |
+ {at: 0.25, is: '22.5deg'}, |
+ {at: 0.75, is: '67.5deg'}, |
+ {at: 1, is: '90deg'}, |
+ {at: 2, is: '180deg'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: '90deg', |
+ to: 'initial', |
+}, [ |
+ {at: -1, is: '180deg'}, |
+ {at: 0, is: '90deg'}, |
+ {at: 0.25, is: '67.5deg'}, |
+ {at: 0.75, is: '22.5deg'}, |
+ {at: 1, is: '0deg'}, |
+ {at: 2, is: '-90deg'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: 'initial', |
+ to: 'inherit', |
+}, [ |
+ {at: -1, is: '-90deg'}, |
+ {at: 0, is: '0deg'}, |
+ {at: 0.25, is: '22.5deg'}, |
+ {at: 0.75, is: '67.5deg'}, |
+ {at: 1, is: '90deg'}, |
+ {at: 2, is: '180deg'}, |
+]); |
+ |
+assertInterpolation({ |
+ property: 'rotate', |
+ from: 'inherit', |
+ to: 'initial', |
+}, [ |
+ {at: -1, is: '180deg'}, |
+ {at: 0, is: '90deg'}, |
+ {at: 0.25, is: '67.5deg'}, |
+ {at: 0.75, is: '22.5deg'}, |
+ {at: 1, is: '0deg'}, |
+ {at: 2, is: '-90deg'}, |
+]); |
+ |
+</script> |