test_midi_device_system_rt.html (1374B)
1 <html> 2 <head> 3 <title>WebMIDI Listener Test</title> 4 <script src="/tests/SimpleTest/SimpleTest.js"></script> 5 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 6 <script type="application/javascript" src="MIDITestUtils.js"></script> 7 </head> 8 9 <body onload="runTests()"> 10 <script class="testbody" type="application/javascript"> 11 SimpleTest.waitForExplicitFinish(); 12 13 async function runTests() { 14 await MIDITestUtils.permissionSetup(true); 15 var checkCount = 0; 16 17 function checkReturn(msg) { 18 checkCount++; 19 if (checkCount == 1) { 20 MIDITestUtils.checkPacket(msg.data, [0xFA]); 21 } else if (checkCount == 2) { 22 MIDITestUtils.checkPacket(msg.data, [0xF8]); 23 } else if (checkCount == 3) { 24 MIDITestUtils.checkPacket(msg.data, [0xF0, 0x01, 0x02, 0x03, 0x04, 0x05, 0xF7]); 25 SimpleTest.finish(); 26 } 27 } 28 29 // Request access without sysex. 30 let access_sysex = await navigator.requestMIDIAccess({ "sysex": true }); 31 let input_sysex = access_sysex.inputs.get(await MIDITestUtils.inputInfo.id); 32 input_sysex.onmidimessage = checkReturn; 33 let output_sysex = access_sysex.outputs.get(await MIDITestUtils.outputInfo.id); 34 output_sysex.send([0xF0, 0x01, 0xF7]); 35 } 36 </script> 37 </body> 38 </html>