| Index: LayoutTests/webmidi/state-check-utils.js
|
| diff --git a/LayoutTests/webmidi/open_close.html b/LayoutTests/webmidi/state-check-utils.js
|
| similarity index 51%
|
| rename from LayoutTests/webmidi/open_close.html
|
| rename to LayoutTests/webmidi/state-check-utils.js
|
| index 39d70234d57bc0000e5b4794517122e7e3e7560c..0d403e72954d6b3b62504a4c14c0b05bceed66e5 100644
|
| --- a/LayoutTests/webmidi/open_close.html
|
| +++ b/LayoutTests/webmidi/state-check-utils.js
|
| @@ -1,12 +1,3 @@
|
| -<!DOCTYPE html>
|
| -<html>
|
| -<head>
|
| -<script src="../resources/js-test.js"></script>
|
| -</head>
|
| -<body>
|
| -<script>
|
| -description("Tests MIDIPort.open and MIDIPort.close.");
|
| -
|
| function checkStateTransition(options) {
|
| debug("Check state transition for " + options.method + " on " +
|
| options.initialconnection + " state.");
|
| @@ -30,6 +21,20 @@ function checkStateTransition(options) {
|
| debug("- check access handler.");
|
| checkHandler(e);
|
| };
|
| + if (options.method == "send") {
|
| + port.send([]);
|
| + }
|
| + if (options.method == "setonmidimessage") {
|
| + port.onmidimessage = function() {};
|
| + }
|
| + if (options.method == "send" || options.method == "setonmidimessage") {
|
| + // Following tests expect an implicit open finishes synchronously.
|
| + // But it will be asynchronous in the future.
|
| + debug("- check final state.");
|
| + shouldBeEqualToString("port.connection", options.finalconnection);
|
| + return Promise.resolve();
|
| + }
|
| + // |method| is expected to be "open" or "close".
|
| return port[options.method]().then(function(p) {
|
| window.callbackport = p;
|
| debug("- check callback arguments.");
|
| @@ -44,48 +49,4 @@ function checkStateTransition(options) {
|
| });
|
| }
|
|
|
| -function runTests(port) {
|
| - return Promise.resolve().then(checkStateTransition.bind(undefined, {
|
| - port: port,
|
| - method: "close",
|
| - initialconnection: "closed",
|
| - finalconnection: "closed",
|
| - })).then(checkStateTransition.bind(undefined, {
|
| - port: port,
|
| - method: "open",
|
| - initialconnection: "closed",
|
| - finalconnection: "open",
|
| - })).then(checkStateTransition.bind(undefined, {
|
| - port: port,
|
| - method: "open",
|
| - initialconnection: "open",
|
| - finalconnection: "open",
|
| - })).then(checkStateTransition.bind(undefined, {
|
| - port: port,
|
| - method: "close",
|
| - initialconnection: "open",
|
| - finalconnection: "closed",
|
| - }));
|
| -}
|
| -
|
| -function successAccessCallback(a) {
|
| - window.access = a;
|
| - testPassed("requestMIDIAccess() succeeded with access " + access + ".");
|
| -
|
| - runTests(access.inputs.values().next().value)
|
| - .then(finishJSTest, finishJSTest);
|
| -}
|
| -
|
| -function errorAccessCallback(error) {
|
| - testFailed("requestMIDIAccess() error callback should not be called when requesting basic access.");
|
| - finishJSTest();
|
| -}
|
| -
|
| -window.jsTestIsAsync = true;
|
| -
|
| -// Test MIDIPort state transition by open() and close().
|
| -navigator.requestMIDIAccess().then(successAccessCallback, errorAccessCallback);
|
|
|
| -</script>
|
| -</body>
|
| -</html>
|
|
|