Test the various actions available in the HTML5 media element context-menu.


RUN(video.src = 'content/test.mp4')
EVENT(play)
EXPECTED (video.paused == 'false') OK
Toggling play state
EXPECTED (video.paused == 'true') OK

EXPECTED (video.muted == 'false') OK
Toggling mute state
EXPECTED (video.muted == 'true') OK

EXPECTED (video.controls == 'true') OK
Toggling media controls
EXPECTED (video.controls == 'false') OK

EXPECTED (video.loop == 'false') OK
Toggling loop state
EXPECTED (video.loop == 'true') OK

EXPECTED (video.webkitDisplayingFullscreen == 'false') OK
Toggling fullscreen state
TypeError: internals.isChangingPresentationMode is not a function. (In 'internals.isChangingPresentationMode(video)', 'internals.isChangingPresentationMode' is undefined)
EXPECTED (video.webkitDisplayingFullscreen == 'true'), OBSERVED 'false' FAIL

END OF TEST

