1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host.media;
16
17 import org.htmlunit.WebDriverTestCase;
18 import org.htmlunit.junit.annotation.Alerts;
19 import org.htmlunit.junit.annotation.HtmlUnitNYI;
20 import org.junit.jupiter.api.Test;
21
22
23
24
25
26
27 public class MediaDevicesTest extends WebDriverTestCase {
28
29
30
31
32 @Test
33 @Alerts("true")
34 public void inWindow() throws Exception {
35 final String html = DOCTYPE_HTML
36 + "<html>\n"
37 + "<head>\n"
38 + " <script>\n"
39 + LOG_TITLE_FUNCTION
40 + " function test() {\n"
41 + " log('MediaDevices' in window);\n"
42 + " }\n"
43 + " </script>\n"
44 + "</head>\n"
45 + "<body onload='test()'>\n"
46 + "</body>\n"
47 + "</html>";
48
49 loadPageVerifyTitle2(html);
50 }
51
52
53
54
55 @Test
56 @Alerts({"[object MediaDevices]", "TypeError"})
57 @HtmlUnitNYI(CHROME = {"[object MediaDevices]", "undefined/DOMException"},
58 EDGE = {"[object MediaDevices]", "undefined/DOMException"},
59 FF = {"[object MediaDevices]", "undefined/DOMException"},
60 FF_ESR = {"[object MediaDevices]", "undefined/DOMException"})
61 public void getUserMedia() throws Exception {
62 final String html = DOCTYPE_HTML
63 + "<html><head>\n"
64 + "<script>\n"
65 + LOG_TITLE_FUNCTION
66 + " function test() {\n"
67 + " var md = navigator.mediaDevices;\n"
68 + " log(md);\n"
69
70 + " if (md) {\n"
71 + " md.getUserMedia({})\n"
72 + " .then(function(stream) { log(stream); })\n"
73 + " .catch(function(e) { logEx(e); });"
74 + " }\n"
75 + " }\n"
76 + "</script>\n"
77 + "</head><body onload='test()'>\n"
78 + "</body></html>";
79
80 loadPage2(html);
81 verifyTitle2(DEFAULT_WAIT_TIME, getWebDriver(), getExpectedAlerts());
82 }
83 }