| <!doctype html> |
| <meta charset=utf-8> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <script src="../resources/testcommon.js"></script> |
| <body> |
| <div id="log"></div> |
| <script> |
| 'use strict'; |
| |
| async_test(function(t) { |
| var div = addDiv(t); |
| var cs = getComputedStyle(div); |
| |
| div.style.marginLeft = '0px'; |
| cs.marginLeft; // Flush style to set up transition start point |
| div.style.transition = 'margin-left 100s'; |
| div.style.marginLeft = '10000px'; |
| cs.marginLeft; |
| |
| var animation = div.getAnimations()[0]; |
| var previousProgress = animation.effect.getComputedTiming().progress; |
| assert_equals(previousProgress, 0, 'Initial value of progress is zero'); |
| |
| animation.ready.then(waitForNextFrame).then(t.step_func(function() { |
| assert_greater_than(animation.effect.getComputedTiming().progress, |
| previousProgress, |
| 'Iteration progress is initially increasing'); |
| animation.pause(); |
| return animation.ready; |
| })).then(t.step_func(function() { |
| previousProgress = animation.effect.getComputedTiming().progress; |
| return waitForNextFrame(); |
| })).then(t.step_func(function() { |
| assert_equals(animation.effect.getComputedTiming().progress, |
| previousProgress, |
| 'Iteration progress does not increase after calling pause()'); |
| previousProgress = animation.effect.getComputedTiming().progress; |
| animation.play(); |
| return animation.ready.then(waitForNextFrame); |
| })).then(t.step_func(function() { |
| assert_greater_than(animation.effect.getComputedTiming().progress, |
| previousProgress, |
| 'Iteration progress increases after calling play()'); |
| t.done(); |
| })); |
| }, 'pause() and play() a transition'); |
| |
| </script> |
| </body> |