| Index: third_party/WebKit/LayoutTests/web-animations-api/animation-effect-timing-easing.html
|
| diff --git a/third_party/WebKit/LayoutTests/web-animations-api/animation-effect-timing-easing.html b/third_party/WebKit/LayoutTests/web-animations-api/animation-effect-timing-easing.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2fdd424ad89ab1068df51f1072f5c7097eec95e0
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/web-animations-api/animation-effect-timing-easing.html
|
| @@ -0,0 +1,57 @@
|
| +<!DOCTYPE html>
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
| +<script>
|
| +var animate_with_easing = function(inputEasing) {
|
| + return document.documentElement.animate([], { easing : inputEasing });
|
| +};
|
| +
|
| +var assert_animate_with_easing_succeeds = function(inputEasing, expectedEasing) {
|
| + var animation = animate_with_easing(inputEasing);
|
| + assert_equals(animation.effect.timing.easing, expectedEasing);
|
| +};
|
| +
|
| +var assert_animate_with_easing_roundtrips = function(inputEasing) {
|
| + assert_animate_with_easing_succeeds(inputEasing, inputEasing);
|
| +};
|
| +
|
| +var assert_animate_with_easing_throws = function(inputEasing) {
|
| + assert_throws(
|
| + {name: 'TypeError'},
|
| + function() { animate_with_easing(inputEasing); },
|
| + 'with inputEasing=\'' + inputEasing + '\'');
|
| +};
|
| +
|
| +test(function() {
|
| + assert_animate_with_easing_roundtrips('ease');
|
| + assert_animate_with_easing_roundtrips('linear');
|
| + assert_animate_with_easing_roundtrips('ease-in');
|
| + assert_animate_with_easing_roundtrips('ease-out');
|
| + assert_animate_with_easing_roundtrips('ease-in-out');
|
| + assert_animate_with_easing_roundtrips('step-start');
|
| + assert_animate_with_easing_roundtrips('step-middle');
|
| + assert_animate_with_easing_roundtrips('step-end');
|
| + assert_animate_with_easing_roundtrips('steps(3, start)');
|
| + assert_animate_with_easing_roundtrips('steps(3, middle)');
|
| + assert_animate_with_easing_roundtrips('steps(3, end)');
|
| + assert_animate_with_easing_roundtrips('cubic-bezier(0.1, 5, 0.23, 0)');
|
| +}, 'Valid easing functions should come out the same as they went in');
|
| +
|
| +test(function() {
|
| + assert_animate_with_easing_succeeds('steps(3)', 'steps(3, end)');
|
| +}, 'steps easing second parameter defaults to end');
|
| +
|
| +test(function() {
|
| + assert_animate_with_easing_succeeds('eAse\\2d iN-ouT', 'ease-in-out');
|
| +}, 'Should accept arbitrary casing and escape chararcters');
|
| +
|
| +test(function() {
|
| + assert_animate_with_easing_throws('');
|
| + assert_animate_with_easing_throws('initial');
|
| + assert_animate_with_easing_throws('inherit');
|
| + assert_animate_with_easing_throws('unset');
|
| + assert_animate_with_easing_throws('steps(3, nowhere)');
|
| + assert_animate_with_easing_throws('steps(-3, end)');
|
| + assert_animate_with_easing_throws('cubic-bezier(0.1, 0, 4, 0.4)');
|
| +}, 'Invalid easing values should throw a TypeError');
|
| +</script>
|
|
|