blob: fc6462c4cc05f897ae97ea3949cd6b3612f0bde4 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../fast/js/resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Test if sysex permission request is handled.");
shouldBeDefined("testRunner.setMIDISysExPermission");
shouldBeDefined("navigator.requestMIDIAccess");
window.jsTestIsAsync = true;
var finishSuccessfully = function () {
testPassed('all permission request rests pass successfully.');
finishJSTest();
}
var rejectSysEx = function (next) {
testRunner.setMIDISysExPermission(false);
try {
promise = navigator.requestMIDIAccess({'sysex': true});
shouldBeDefined("promise");
shouldBeDefined("promise.then");
promise.then(function(access) {
testFailed('sysex permission request should be rejected.');
finishJSTest();
}, function (error) {
testPassed('sysex permission request is successfully rejected.');
if (next)
next();
else
finishSuccessfully();
});
} catch (e) {
testFailed('navigator.requestMIDIAccess({\'sysex\': true}) should not throw exception.');
finishJSTest();
}
}
var acceptSysEx = function (next) {
testRunner.setMIDISysExPermission(true);
try {
promise = navigator.requestMIDIAccess({'sysex': true});
shouldBeDefined("promise");
shouldBeDefined("promise.then");
promise.then(function(access) {
testPassed('sysex permission request is successfully accepted.');
if (next)
next();
else
finishSuccessfully();
}, function (error) {
testFailed('sysex permission request should be accepted.');
finishJSTest();
});
} catch (e) {
testFailed('navigator.requestMIDIAccess({\'sysex\': true}) should not throw exception.');
finishJSTest();
}
}
rejectSysEx(acceptSysEx);
</script>
<script src="../fast/js/resources/js-test-post.js"></script>
</body>
</html>