Testing the controls bar appears when the mouse enters and disappears when the mouse leaves the media.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Video started playing, controls bar is visible by default.
PASS mediaControls.classList.contains('faded') is false

Pausing media.
Media playback has paused, this stops the auto-hide timer.

Resuming media playback.
Media playback has resumed, this should rewind the auto-hide timer and ensure that entering and leaving the media doesn't hide the controls bar until the auto-hide timer has expired after playing.

Mouse entering the media.

Mouse leaving the media.

The initial auto-hide timer started when we resumed playback should not have expired or be overriden by the mouse entering and leaving the media, the controls should remain visible.
PASS mediaControls.classList.contains('faded') is false

The initial auto-hide timer started when we resumed playback should now have expired and the controls should be faded.
PASS mediaControls.classList.contains('faded') is true

PASS successfullyParsed is true

TEST COMPLETE

