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