summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/presentation-api/controlling-ua/idlharness.https.html
blob: 1cb8830f89c4a3a8eecf87d6f772592b4c40d8a6 (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
<!DOCTYPE html>
<meta charset="utf-8">
<title>Presentation API IDL tests for Controlling User Agent</title>
<meta name="timeout" content="long">
<link rel="author" title="Louay Bassbouss" href="http://www.fokus.fraunhofer.de">
<link rel="help" href="http://w3c.github.io/presentation-api/#dfn-controlling-user-agent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>

<script>
  "use strict";

  promise_test(async () => {
    const srcs = ['presentation-api', 'dom', 'html'];
    const [idl, dom, html] = await Promise.all(
      srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));

    const idl_array = new IdlArray();
    idl_array.add_idls(idl, {
      except: [
        'PresentationReceiver',
        'PresentationConnectionList'
      ]
    });
    idl_array.add_dependency_idls(dom);
    idl_array.add_dependency_idls(html);

    try {
      window.presentation_request = new PresentationRequest("/presentation-api/receiving-ua/idlharness.html");
      window.presentation_request_urls = new PresentationRequest([
        "/presentation-api/receiving-ua/idlharness.html",
        "https://www.example.com/presentation.html"
      ]);
      navigator.presentation.defaultRequest = window.presentation_request;
    } catch (e) {
      // Will be surfaced in idlharness.js's test_object below.
    }

    idl_array.add_objects({
      Presentation: ['navigator.presentation'],
      PresentationRequest: [
        'navigator.presentation.defaultRequest',
        'presentation_request',
        'presentation_request_urls'
      ],
    });
    idl_array.test();
  }, "Test IDL implementation of Presentation API");
</script>