Summary

Harness status: OK

Found 21 tests

Details

ResultTest NameMessage
PassFinishing an animation with a zero playback rate throws
Asserts run
Pass
assert_throws_dom("InvalidStateError", function "() => {     animation.finish();   }")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:33:3)
PassFinishing an animation seeks to the end time
Asserts run
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"After finishing, the currentTime should be set to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"After finishing, the currentTime should be set to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"After finishing, the currentTime should be set to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing an animation with a current time past the effect end jumps back to the end
Asserts run
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"After finishing, the currentTime should be set back to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"After finishing, the currentTime should be set back to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"After finishing, the currentTime should be set back to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing a reversed animation jumps to zero time
Asserts run
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"After finishing a reversed animation the currentTime should be set to zero\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"After finishing a reversed animation the currentTime should be set to zero\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(0, 0, 0.125, "values do not match for \"After finishing a reversed animation the currentTime should be set to zero\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing a reversed animation with a current time less than zero makes it jump back to zero
Asserts run
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"After finishing a reversed animation the currentTime should be set back to zero\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"After finishing a reversed animation the currentTime should be set back to zero\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(0, 0, 0.125, "values do not match for \"After finishing a reversed animation the currentTime should be set back to zero\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing an animation while play-pending resolves the pending task immediately
Asserts run
Pass
assert_false(false)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:99:3)
Pass
assert_equals("finished", "finished", "The play state of a play-pending animation should become \"finished\"")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:100:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The start time of a play-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The start time of a play-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(-200, -200, 0.125, "values do not match for \"The start time of a play-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing an animation attached to inactive timeline while play-pending doesn't resolves the pending task
Asserts run
Pass
assert_true(true)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:122:3)
Pass
assert_equals("finished", "finished", "The play state of a play-pending animation should become \"finished\"")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:123:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The current time of a play-pending animation should be set to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The current time of a play-pending animation should be set to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"The current time of a play-pending animation should be set to the end of the active duration\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals(null, null, "The start time of a finished play-pending animation should be unresolved")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:129:3)
PassFinishing an animation resolves the finished promise synchronously
Asserts run
Pass
assert_true(true, "finished promise should be resolved")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:148:3)
PassA pending ready promise is resolved and not replaced when the animation is finished
Asserts run
Pass
assert_equals(object "[object Animation]", object "[object Animation]")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:163:3)
Pass
assert_equals(object "[object Promise]", object "[object Promise]")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:164:3)
Pass
assert_true(true)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:165:3)
PassFinishing an animation fires finish event on orphaned element
Asserts run
Pass
assert_equals(null, null, "finish event should be fired for the animation on an orphaned element")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:180:3)
PassFinishing a canceled animation sets the current and start times
Asserts run
Pass
assert_equals(null, null)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:192:3)
Pass
assert_equals(null, null)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:193:3)
Pass
assert_not_equals(object "[object Promise]", object "[object Promise]", "Canceling an animation should create a new finished promise")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:196:3)
Pass
assert_equals("finished", "finished", "The play state of a canceled animation should become \"finished\"")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:200:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The start time of a finished animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The start time of a finished animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(-100, -100, 0.125, "values do not match for \"The start time of a finished animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"Hold time should be set to end boundary of the animation\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"Hold time should be set to end boundary of the animation\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"Hold time should be set to end boundary of the animation\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing idle animation produces correct state and fires finish event.
Asserts run
Pass
assert_equals("finished", "finished", "Animation is finished.")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:225:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The current time is the end of the active duration in finished state.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The current time is the end of the active duration in finished state.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"The current time is the end of the active duration in finished state.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The start time is calculated to match the current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The start time is calculated to match the current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(-75, -75, 0.125, "values do not match for \"The start time is calculated to match the current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"event.currentTime is the animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"event.currentTime is the animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"event.currentTime is the animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"event.timelineTime is timeline.currentTime\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"event.timelineTime is timeline.currentTime\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(25, 25, 0.125, "values do not match for \"event.timelineTime is timeline.currentTime\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing idle animation attached to inactive timeline pauses the animation.
Asserts run
Pass
assert_equals(null, null, "Sanity check the timeline is inactive.")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:243:3)
Pass
assert_equals("paused", "paused", "Animation is paused.")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:246:3)
PassFinishing running animation produces correct state and fires finish event.
Asserts run
Pass
assert_equals("finished", "finished", "Animation is finished.")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:262:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The current time is the end of active duration in finished state.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The current time is the end of active duration in finished state.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"The current time is the end of active duration in finished state.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The start time is calculated to match animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The start time is calculated to match animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(-75, -75, 0.125, "values do not match for \"The start time is calculated to match animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"event.currentTime is the animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"event.currentTime is the animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"event.currentTime is the animation current time.\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"event.timelineTime is timeline.currentTime\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"event.timelineTime is timeline.currentTime\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(25, 25, 0.125, "values do not match for \"event.timelineTime is timeline.currentTime\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing running animation attached to inactive timeline pauses the animation.
Asserts run
Pass
assert_equals(null, null, "Sanity check the timeline is inactive.")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:284:3)
Pass
assert_equals("running", "running", "Sanity check the animation is running.")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:286:3)
Pass
assert_equals("paused", "paused", "Animation is paused.")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:290:3)
PassFinishing a paused animation resolves the start time
Asserts run
Pass
assert_equals("finished", "finished", "The play state of a paused animation should become \"finished\"")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:301:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The start time of a paused animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The start time of a paused animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(-100, -100, 0.125, "values do not match for \"The start time of a paused animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing a pause-pending animation resolves the pending task immediately and update the start time
Asserts run
Pass
assert_false(false)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:319:3)
Pass
assert_equals("finished", "finished", "The play state of a pause-pending animation should become \"finished\"")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:320:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The start time of a pause-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The start time of a pause-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(-50, -50, 0.125, "values do not match for \"The start time of a pause-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassFinishing a pause-pending animation with negative playback rate resolves the pending task immediately
Asserts run
Pass
assert_false(false)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:337:3)
Pass
assert_equals("finished", "finished", "The play state of a pause-pending animation should become \"finished\"")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:338:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"The start time of a pause-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"The start time of a pause-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_equals("percent", "percent", "'expected' unit type must be 'percent' for \"The start time of a pause-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:125:5)
Pass
assert_approx_equals(0, 0, 0.125, "values do not match for \"The start time of a pause-pending animation should be set\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:127:5)
PassFinishing an animation during an aborted pause makes it finished immediately
Asserts run
Pass
assert_equals("finished", "finished", "After aborting a pause then finishing an animation its play state should become \"finished\" immediately")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:360:3)
PassA pending playback rate should be applied immediately when an animation is finished
Asserts run
Pass
assert_true(true)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:372:3)
Pass
assert_false(false)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:375:3)
Pass
assert_equals(2, 2)
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:376:3)
Pass
assert_equals("percent", "percent", "'actual' unit type must be 'percent' for \"undefined\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:118:3)
Pass
assert_true(true, "'actual' must be of type CSSNumberish for \"undefined\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:120:3)
Pass
assert_approx_equals(100, 100, 0.125, "values do not match for \"undefined\"")
    at assert_percents_approx_equal ( /scroll-animations/scroll-timelines/testcommon.js:130:5)
PassAn exception should be thrown if the effective playback rate is zero
Asserts run
Pass
assert_throws_dom("InvalidStateError", function "() => {     animation.finish();   }")
    at Test.<anonymous> ( /scroll-animations/scroll-timelines/finish-animation.html:388:3)