| OLD | NEW | 
|   1 <!DOCTYPE html> |   1 <!DOCTYPE html> | 
|   2 <meta charset=utf-8> |   2 <meta charset=utf-8> | 
|   3 <title>endDelay tests</title> |   3 <title>endDelay tests</title> | 
|   4 <link rel="help" href="http://w3c.github.io/web-animations/#dom-animationeffectt
    iming-enddelay"> |   4 <link rel="help" href="http://w3c.github.io/web-animations/#dom-animationeffectt
    iming-enddelay"> | 
|   5 <link rel="author" title="Ryo Motozawa" href="mailto:motozawa@mozilla-japan.org"
    > |   5 <link rel="author" title="Ryo Motozawa" href="mailto:motozawa@mozilla-japan.org"
    > | 
|   6 <script src="/resources/testharness.js"></script> |   6 <script src="/resources/testharness.js"></script> | 
|   7 <script src="/resources/testharnessreport.js"></script> |   7 <script src="/resources/testharnessreport.js"></script> | 
|   8 <script src="../../testcommon.js"></script> |   8 <script src="../../testcommon.js"></script> | 
|   9 <body> |   9 <body> | 
|  10 <div id="log"></div> |  10 <div id="log"></div> | 
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  59     return waitForAnimationFrames(2); |  59     return waitForAnimationFrames(2); | 
|  60   }).then(t.step_func(function() { |  60   }).then(t.step_func(function() { | 
|  61     t.done(); |  61     t.done(); | 
|  62   })); |  62   })); | 
|  63 }, 'onfinish event is not fired duration endDelay'); |  63 }, 'onfinish event is not fired duration endDelay'); | 
|  64  |  64  | 
|  65 async_test(function(t) { |  65 async_test(function(t) { | 
|  66   var div = createDiv(t); |  66   var div = createDiv(t); | 
|  67   var anim = div.animate({ opacity: [ 0, 1 ] }, |  67   var anim = div.animate({ opacity: [ 0, 1 ] }, | 
|  68                          { duration: 100000, endDelay: 30000 }); |  68                          { duration: 100000, endDelay: 30000 }); | 
|  69   var finishedTimelineTime; |  | 
|  70   anim.finished.then(function() { |  | 
|  71     finishedTimelineTime = anim.timeline.currentTime; |  | 
|  72   }); |  | 
|  73  |  | 
|  74   var receivedEvents = []; |  | 
|  75   anim.onfinish = function(event) { |  | 
|  76     receivedEvents.push(event); |  | 
|  77   } |  | 
|  78  |  | 
|  79   anim.ready.then(function() { |  69   anim.ready.then(function() { | 
|  80     anim.currentTime = 110000; // during endDelay |  70     anim.currentTime = 110000; // during endDelay | 
 |  71     anim.onfinish = t.step_func(function(event) { | 
 |  72       assert_unreached('onfinish event should not be fired during endDelay'); | 
 |  73     }); | 
|  81     return waitForAnimationFrames(2); |  74     return waitForAnimationFrames(2); | 
|  82   }).then(t.step_func(function() { |  75   }).then(t.step_func(function() { | 
|  83     assert_equals(receivedEvents.length, 0, |  76     anim.onfinish = t.step_func(function(event) { | 
|  84       'onfinish event is should not be fired' + |  77       t.done(); | 
|  85       'when currentTime is during endDelay'); |  78     }); | 
|  86     anim.currentTime = 130000; // after endTime |  79     anim.currentTime = 130000; // after endTime | 
|  87     return waitForAnimationFrames(2); |  | 
|  88   })).then(t.step_func_done(function() { |  | 
|  89     assert_equals(receivedEvents.length, 1, 'length of array should be one'); |  | 
|  90     assert_equals(receivedEvents[0].timelineTime, finishedTimelineTime, |  | 
|  91       'receivedEvents[0].timelineTime should equal to the animation timeline ' |  | 
|  92       + 'when finished promise is resolved'); |  | 
|  93   })); |  80   })); | 
|  94 }, 'onfinish event is fired currentTime is after endTime'); |  81 }, 'onfinish event is fired currentTime is after endTime'); | 
|  95  |  82  | 
|  96 </script> |  83 </script> | 
|  97 </body> |  84 </body> | 
| OLD | NEW |