| <!DOCTYPE html> | |
| <meta charset=utf-8> | |
| <title>Animation.oncancel</title> | |
| <link rel="help" href="https://drafts.csswg.org/web-animations/#dom-animation-oncancel"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="../../testcommon.js"></script> | |
| <body> | |
| <div id="log"></div> | |
| <script> | |
| 'use strict'; | |
| async_test(t => { | |
| const div = createDiv(t); | |
| const animation = div.animate({}, 100 * MS_PER_SEC); | |
| let finishedTimelineTime; | |
| animation.finished.then().catch(() => { | |
| finishedTimelineTime = animation.timeline.currentTime; | |
| }); | |
| animation.oncancel = t.step_func_done(event => { | |
| assert_equals(event.currentTime, null, | |
| 'event.currentTime should be null'); | |
| assert_times_equal(event.timelineTime, finishedTimelineTime, | |
| 'event.timelineTime should equal to the animation timeline ' + | |
| 'when finished promise is rejected'); | |
| }); | |
| animation.cancel(); | |
| }, 'oncancel event is fired when animation.cancel() is called.'); | |
| </script> | |
| </body> |