Harness status: OK Found 32 tests 24 Pass 8 Fail Pass Idle -> Active Fail Idle -> After Pass Before -> Active Pass Before -> After Pass Active -> Idle, display: none Pass After -> Idle, display: none Fail Active -> Idle, setting Animation.timeline = null Fail Active -> Idle, calling Animation.cancel() Pass Active -> Before Pass Active -> After Pass After -> Before Pass After -> Active Pass Active -> Active (forwards) Pass Active -> Active (backwards) Pass Active -> Idle -> Active: animationstart is fired by restarting animation Pass Negative playbackRate sanity test(Before -> Active -> Before) Pass Redundant change, before -> active, then back Pass Redundant change, before -> after, then back Pass Redundant change, active -> before, then back Pass Redundant change, active -> after, then back Pass Redundant change, after -> before, then back Pass Redundant change, after -> active, then back Pass Call Animation.cancel after canceling animation. Fail Restart animation after canceling animation immediately. Pass Call Animation.cancel after restarting animation immediately. Pass Set timeline and play transition after clearing the timeline. Pass Set null target effect after canceling the animation. Fail Cancel the animation after clearing the target effect. Pass Replacing a running animation should get animationcancel earlier than animationstart Fail The cancel event should be fired before the new start event if both have the same position in the animation list Fail The cancel event with an earlier position in animation list should be fired earlier Fail The order of the cancel events follows the relative positions in the animation list at the point when they were cancelled