| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Tests that unprefixed animation events are correctly fired.</title> |
| <style> |
| #box { |
| position: relative; |
| left: 100px; |
| top: 10px; |
| height: 100px; |
| width: 100px; |
| animation-duration: 0.3s; |
| animation-name: anim; |
| background-color: #999; |
| animation-iteration-count: 3; |
| } |
| @keyframes anim { |
| from { left: 200px; } |
| to { left: 300px; } |
| } |
| </style> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function fail() { |
| document.getElementById('result').innerHTML = 'FAIL: Got ' + iterationEventReceived + ' animationCount events.'; |
| } |
| |
| var iterationEventReceived = 0; |
| var startEventReceived = false; |
| document.addEventListener('animationstart', function() { |
| startEventReceived = true; |
| }, false); |
| document.addEventListener('animationiteration', function() { |
| ++iterationEventReceived; |
| }, false); |
| |
| document.addEventListener('animationend', function() { |
| if (iterationEventReceived <= 2 && startEventReceived) |
| document.getElementById('result').innerHTML = 'PASS: All events have been received as expected.'; |
| else |
| fail(); |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| }, false); |
| |
| onload = function() |
| { |
| // Animation begins once we append the DOM node to the document. |
| var boxNode = document.createElement('div'); |
| boxNode.id = 'box'; |
| document.body.appendChild(boxNode); |
| } |
| </script> |
| </head> |
| <body> |
| Tests that unprefixed animation events are correctly fired. |
| <pre id="result">FAIL: No animation events received</pre> |
| </body> |
| </html> |