blob: 187b9f0cbbf12124caa698c74be072e7e5247356 [file] [log] [blame]
<!DOCTYPE html>
<title>Test media controls volume slider keyboard navigation</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="media-file.js"></script>
<script src="media-controls.js"></script>
<audio controls></audio>
<script>
async_test(function(t) {
var audio = document.querySelector("audio");
audio.src = findMediaFile("audio", "content/test");
assert_equals(audio.volume, 1);
audio.onloadedmetadata = t.step_func(function() {
// Focus the volume slider.
mediaControlsButton(audio, "volume-slider").focus();
// 'Left' reduces volume.
eventSender.keyDown("ArrowLeft");
assert_less_than(audio.volume, 1);
// 'Right' increases volume (same step as 'Left', but opposite sign).
eventSender.keyDown("ArrowRight");
assert_equals(audio.volume, 1);
// 'Home' sets minimum volume (0).
eventSender.keyDown("Home");
assert_equals(audio.volume, 0);
// 'End' sets maximum volume (1).
eventSender.keyDown("End");
assert_equals(audio.volume, 1);
audio.onvolumechange = t.step_func_done();
});
});
</script>