blob: b7c32db88eebe650681b06dddf661de4ee913f33 [file] [log] [blame]
<!DOCTYPE html>
<html>
<title>Test that all event handlers are called.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/media.js"></script>
<script>
setup({ explicit_timeout: true });
</script>
<body>
<div id="prep">
<p>Please make sure a device for remote playback is <b>available.</b></p>
<button id="prompt-button-prep">Show devices</button>
<button id="start-button">Start test</button>
</div>
<div id="pick-device" style="display: none">
<p>
Click the button below to prompt for a remote playback device and select
one! After connecting to the device, please click again and disconnect
from device.
</p>
<button id="prompt-button">Pick device</button>
<button id="disconnect-button" style="display: none">
Disconnect device
</button>
</div>
</body>
<script src="./prepare-device.js"></script>
<script>
let v = document.createElement("video");
v.src = getVideoURI("/media/movie_5");
async_test((t) => {
let onConnectingCalled = false;
let onConnectCalled = false;
let onDisconnectCalled = false;
v.remote.onconnecting = () => (onConnectingCalled = true);
v.remote.onconnect = () => (onConnectCalled = true);
v.remote.ondisconnect = () => (onDisconnectCalled = true);
let button = document.getElementById("prompt-button");
let disconnectButton = document.getElementById("disconnect-button");
button.onclick = promise_test(
() =>
v.remote.prompt().then(() => {
button.style.display = "none";
disconnectButton.style.display = "inline";
}),
"Prompt to connect device"
);
disconnectButton.onclick = () =>
v.remote.prompt().then(
t.step_func_done(() => {
assert_true(onConnectingCalled, "onconnecting was called");
assert_true(onConnectCalled, "onconnect was called");
assert_true(onDisconnectCalled, "ondisconnect was called");
})
);
}, "Test that all event handlers are called.");
</script>
</html>