| 'playbackRate' should not change when play() is called. |
| 'playbackRate' and 'defaultPlaybackRate' should always return the last value set. |
| *** setting src |
| EVENT(canplaythrough) |
| |
| *** checking defaults |
| EXPECTED (video.playbackRate == '1') OK |
| EXPECTED (video.defaultPlaybackRate == '1') OK |
| |
| *** setting defaultPlaybackRate |
| RUN(video.defaultPlaybackRate = 2) |
| EXPECTED (video.playbackRate == '1') OK |
| EXPECTED (video.defaultPlaybackRate == '2') OK |
| |
| EVENT(ratechange) |
| *** checking rates after event |
| EXPECTED (video.playbackRate == '1') OK |
| EXPECTED (video.defaultPlaybackRate == '2') OK |
| |
| *** setting playbackRate |
| RUN(video.playbackRate = 2) |
| EXPECTED (video.playbackRate == '2') OK |
| EXPECTED (video.defaultPlaybackRate == '2') OK |
| |
| EVENT(ratechange) |
| *** checking rates after event |
| EXPECTED (video.playbackRate == '2') OK |
| EXPECTED (video.defaultPlaybackRate == '2') OK |
| |
| *** beginning playback |
| RUN(video.playbackRate = 1) |
| EXPECTED (video.playbackRate == '1') OK |
| EXPECTED (video.defaultPlaybackRate == '2') OK |
| RUN(video.play()) |
| |
| EVENT(ratechange) |
| *** checking rates after event |
| EXPECTED (video.playbackRate == '1') OK |
| EXPECTED (video.defaultPlaybackRate == '2') OK |
| |
| EVENT(ended) |
| EXPECTED (video.playbackRate == '1') OK |
| EXPECTED (video.defaultPlaybackRate == '2') OK |
| |
| Test extreme playback rates |
| RUN(video.defaultPlaybackRate = Number.MIN_VALUE) |
| EXPECTED (video.defaultPlaybackRate == '5e-324') OK |
| |
| RUN(video.defaultPlaybackRate = Number.MAX_VALUE) |
| EXPECTED (video.defaultPlaybackRate == '1.7976931348623157e+308') OK |
| |
| RUN(video.playbackRate = Number.MIN_VALUE) |
| EXPECTED (video.playbackRate == '5e-324') OK |
| |
| RUN(video.playbackRate = Number.MAX_VALUE) |
| EXPECTED (video.playbackRate == '1.7976931348623157e+308') OK |
| |
| Test non-finite playback rates |
| TEST(video.defaultPlaybackRate = -Infinity) THROWS("TypeError: Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided double value is non-finite.") OK |
| TEST(video.defaultPlaybackRate = Infinity) THROWS("TypeError: Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided double value is non-finite.") OK |
| TEST(video.defaultPlaybackRate = NaN) THROWS("TypeError: Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided double value is non-finite.") OK |
| |
| TEST(video.playbackRate = -Infinity) THROWS("TypeError: Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided double value is non-finite.") OK |
| TEST(video.playbackRate = Infinity) THROWS("TypeError: Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided double value is non-finite.") OK |
| TEST(video.playbackRate = NaN) THROWS("TypeError: Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided double value is non-finite.") OK |
| |
| END OF TEST |
| |