Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html>
<title>
Test that the remote playback state changes when selecting a device
</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!
</p>
<button id="prompt-button">Pick 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 => {
assert_equals(v.remote.state, "disconnected");
function callback(available) {
promise_test(() => {
return v.remote.prompt().then(
t.step_func(() => {
assert_equals(v.remote.state, "connecting");
})
);
}, "Prompt call resolves");
}
let button = document.getElementById("prompt-button");
button.onclick = () => {
v.remote.watchAvailability(t.step_func_done(callback)).then(
t.step_func(() => {}),
t.unreached_func()
);
};
}, "Test that the remote playback state changes when selecting a device.");
</script>
</html>