Testing that dragging the volume slider to 0 turns the mute button on and that pressing the mute button resets the volume to the previous value.

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


PASS media.volume is 1
PASS mediaController.controls.volumeSlider.value is 1
PASS media.volume became 0.5
PASS muteButton.getBoundingClientRect().width became different from 0
PASS volumeSlider.getBoundingClientRect().width became different from 0

We drag the volume slider to set the volume from 0.5 to 0
PASS media.muted became true

We click on the mute button which should set the volume back to 0.5
PASS media.volume became 0.5
PASS media.muted is false

PASS successfullyParsed is true

TEST COMPLETE

