| <!DOCTYPE html> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <style> |
| #actual { |
| transition: transform 2s -1s linear; |
| } |
| </style> |
| <div id="actual"></div> |
| <div id="expected"></div> |
| <script> |
| function setTransform(transform) { |
| actual.style.transform = transform; |
| } |
| |
| function expectTransform(transform) { |
| expected.style.transform = transform; |
| assert_equals(getComputedStyle(actual).transform, getComputedStyle(expected).transform, transform); |
| } |
| |
| test(() => { |
| expectTransform('none'); |
| |
| setTransform('rotateX(100deg) rotateY(100deg) rotateZ(100deg) rotate3d(1, 1, 1, 100deg)'); |
| expectTransform('rotateX(50deg) rotateY(50deg) rotateZ(50deg) rotate3d(1, 1, 1, 50deg)'); |
| |
| setTransform('rotateX(250deg) rotateY(250deg) rotateZ(250deg) rotate3d(1, 1, 1, 250deg)'); |
| expectTransform('rotateX(150deg) rotateY(150deg) rotateZ(150deg) rotate3d(1, 1, 1, 150deg)'); |
| |
| setTransform('rotateX(350deg) rotateY(350deg) rotateZ(350deg) rotate3d(1, 1, 1, 350deg)'); |
| expectTransform('rotateX(250deg) rotateY(250deg) rotateZ(250deg) rotate3d(1, 1, 1, 250deg)'); |
| }, 'Retargeted rotation transform transitions should not decompose when rotation operations match'); |
| </script> |