
Test mediaUsageState.

RUN(internals.setMediaElementRestrictions(video, "RequireUserGestureForAudioRateChange,RequireUserGestureForVideoRateChange,RequireUserGestureToControlControlsManager"))
EVENT(canplaythrough)

** Check state before playback.
EXPECTED (usage.mediaURL.indexOf('content/test.mp4') > '-1') OK
EXPECTED (usage.isPlaying == 'false') OK
EXPECTED (usage.canShowControlsManager == 'false') OK
EXPECTED (usage.canShowNowPlayingControls == 'false') OK
EXPECTED (usage.isSuspended == 'false') OK
EXPECTED (usage.isInActiveDocument == 'true') OK
EXPECTED (usage.isFullscreen == 'false') OK
EXPECTED (usage.isMuted == 'false') OK
EXPECTED (usage.isMediaDocumentInMainFrame == 'false') OK
EXPECTED (usage.isVideo == 'true') OK
EXPECTED (usage.isAudio == 'false') OK
EXPECTED (usage.hasVideo == 'true') OK
EXPECTED (usage.hasAudio == 'true') OK
EXPECTED (usage.hasRenderer == 'true') OK
EXPECTED (usage.audioElementWithUserGesture == 'false') OK
EXPECTED (usage.userHasPlayedAudioBefore == 'false') OK
EXPECTED (usage.isElementRectMostlyInMainFrame == 'true') OK
EXPECTED (usage.playbackPermitted == 'false') OK
EXPECTED (usage.pageMediaPlaybackSuspended == 'false') OK
EXPECTED (usage.isMediaDocumentAndNotOwnerElement == 'false') OK
EXPECTED (usage.pageExplicitlyAllowsElementToAutoplayInline == 'false') OK
EXPECTED (usage.requiresFullscreenForVideoPlaybackAndFullscreenNotPermitted == 'false') OK
EXPECTED (usage.hasHadUserInteractionAndQuirksContainsShouldAutoplayForArbitraryUserGesture == 'false') OK
EXPECTED (usage.isVideoAndRequiresUserGestureForVideoRateChange == 'true') OK
EXPECTED (usage.isAudioAndRequiresUserGestureForAudioRateChange == 'false') OK
EXPECTED (usage.isVideoAndRequiresUserGestureForVideoDueToLowPowerMode == 'false') OK
EXPECTED (usage.noUserGestureRequired == 'false') OK
EXPECTED (usage.requiresPlaybackAndIsNotPlaying == 'false') OK
EXPECTED (usage.hasEverNotifiedAboutPlaying == 'false') OK
EXPECTED (usage.outsideOfFullscreen == 'false') OK
EXPECTED (usage.isLargeEnoughForMainContent == 'false') OK

** Mute video.
RUN(video.muted = true)
EXPECTED (usage.isMuted == 'true') OK

** Unmute video.
RUN(video.muted = false)
EXPECTED (usage.isMuted == 'false') OK

** Try to play without user gesture, should reject and state should not change.
Promise rejected correctly OK
EXPECTED (usage.isPlaying == 'false') OK
EXPECTED (usage.canShowControlsManager == 'false') OK
EXPECTED (usage.userHasPlayedAudioBefore == 'false') OK
EXPECTED (usage.playbackPermitted == 'false') OK
EXPECTED (usage.isVideoAndRequiresUserGestureForVideoRateChange == 'true') OK
EXPECTED (usage.noUserGestureRequired == 'false') OK

** Try to play without user gesture, should succeed and state should change.
EVENT(playing)
EXPECTED (usage.isPlaying == 'true') OK
EXPECTED (usage.canShowControlsManager == 'true') OK
EXPECTED (usage.userHasPlayedAudioBefore == 'true') OK
EXPECTED (usage.playbackPermitted == 'true') OK
EXPECTED (usage.isVideoAndRequiresUserGestureForVideoRateChange == 'false') OK
EXPECTED (usage.noUserGestureRequired == 'true') OK
END OF TEST

