| Test that there is no current position before positionState has been set. |
| RUN(navigator.mediaSession.setPositionState(null)) |
| TEST(internals.currentMediaSessionPosition(navigator.mediaSession)) THROWS(DOMException.INVALID_STATE_ERR) OK |
| |
| Test that current position does not advance when session is "paused". |
| RUN(navigator.mediaSession.playbackState = "paused") |
| RUN(navigator.mediaSession.setPositionState({ duration: 1, playbackRate: 1, position: 0 })) |
| EXPECTED (internals.currentMediaSessionPosition(navigator.mediaSession) == '0') OK |
| sleeping for 100ms |
| EXPECTED (internals.currentMediaSessionPosition(navigator.mediaSession) == '0') OK |
| |
| Test that current position does advance when session is "playing". |
| RUN(navigator.mediaSession.playbackState = "playing") |
| sleeping for 100ms |
| EXPECTED (internals.currentMediaSessionPosition(navigator.mediaSession) > '0') OK |
| |
| Test that currentPosition does not move < 0 when playing backwards. |
| RUN(navigator.mediaSession.setPositionState({ duration: 1, playbackRate: -100, position: 1 })) |
| sleeping for 100ms |
| EXPECTED (internals.currentMediaSessionPosition(navigator.mediaSession) == '0') OK |
| |
| Test that currentPosition does not advance > duration when playing forwards. |
| RUN(navigator.mediaSession.setPositionState({ duration: 1, playbackRate: 100, position: 0 })) |
| sleeping for 100ms |
| EXPECTED (internals.currentMediaSessionPosition(navigator.mediaSession) == '1') OK |
| END OF TEST |
| |