summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/remote-playback/prompt-and-watch-availability-with-device-manual.html
blob: fa8644931bfcb9e67fd27c54f737821d94dbf82a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html>
  <title>
    Test that watchAvailability() runs the callback with true when user selects 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 => {
      let deviceAvailable = false;
      let button = document.getElementById("prompt-button");
      button.onclick = () => {
        v.remote
          .watchAvailability(t.step_func(avail => (deviceAvailable = avail)))
          .then(
            t.step_func(() => {
              v.remote
                .prompt()
                .then(() => {
                  assert_true(deviceAvailable);
                  t.done();
                })
                .catch(
                  t.unreached_func(
                    "Selecting a remote device was not successful."
                  )
                );
            }),
            t.unreached_func()
          );
      };
    }, "Test that watchAvailability() runs the callback with true when user selects a device.");
  </script>
</html>