blob: 752de608c280420c27d4836d28432f8554b61532 [file] [log] [blame]
<!doctype html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../http/tests/resources/permissions-helper.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/media/midi/midi_service.mojom.js"></script>
<script src="../http/tests/webmidi/mock-midiservice.js"></script>
<p>Regression test to check if non-zero timestamp works well.</p>
<script>
promise_test(async () => {
await PermissionsHelper.setPermission('midi', 'granted');
await PermissionsHelper.setPermission('midi-sysex', 'granted');
let access = await navigator.requestMIDIAccess({sysex: true});
let input = access.inputs.values().next().value;
let output = access.outputs.values().next().value;
let expected_time = performance.now() + 1000;
let data = [0x80, 0x00, 0x00];
output.send(data, expected_time);
let event = await new Promise(resolve => {
input.addEventListener('midimessage', resolve);
});
assert_array_equals(data, event.data);
assert_greater_than_equal(performance.now(), expected_time);
}, 'Test MIDIOutput.send() with non-zero timestamp.');
</script>