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.junit.jupiter.api.Test;
20
21
22
23
24
25
26 public class GainNodeTest extends WebDriverTestCase {
27
28
29
30
31 @Test
32 @Alerts("true")
33 public void inWindow() throws Exception {
34 final String html = DOCTYPE_HTML
35 + "<html>\n"
36 + "<head>\n"
37 + " <script>\n"
38 + LOG_TITLE_FUNCTION
39 + " function test() {\n"
40 + " log('GainNode' in window);\n"
41 + " }\n"
42 + " </script>\n"
43 + "</head>\n"
44 + "<body onload='test()'>\n"
45 + "</body>\n"
46 + "</html>";
47
48 loadPageVerifyTitle2(html);
49 }
50
51
52
53
54 @Test
55 @Alerts({"1", "-3.4028234663852886e+38", "3.4028234663852886e+38", "1", "0.5"})
56 public void ctor() throws Exception {
57 final String html = DOCTYPE_HTML
58 + "<html>\n"
59 + "<head>\n"
60 + " <script>\n"
61 + LOG_TEXTAREA_FUNCTION
62
63 + " function test() {\n"
64 + " if (!('AudioContext' in window)) {\n"
65 + " log('AudioContext not available');\n"
66 + " return;\n"
67 + " }\n"
68
69 + " var audioCtx = new AudioContext();\n"
70 + " var gainNode = new GainNode(audioCtx);\n"
71
72 + " log(gainNode.gain.defaultValue);\n"
73 + " log(gainNode.gain.minValue);\n"
74 + " log(gainNode.gain.maxValue);\n"
75 + " log(gainNode.gain.value);\n"
76
77 + " gainNode.gain.value = 0.5;\n"
78 + " log(gainNode.gain.value);\n"
79 + " }\n"
80 + " </script>\n"
81 + "</head>\n"
82 + "<body onload='test()'>\n"
83 + LOG_TEXTAREA
84 + "</body>\n"
85 + "</html>";
86
87 loadPageVerifyTextArea2(html);
88 }
89
90
91
92
93 @Test
94 @Alerts({"Error 1", "Error 2", "Error 3", "Error 4"})
95 public void ctorAudiocontextMissing() throws Exception {
96 final String html = DOCTYPE_HTML
97 + "<html>\n"
98 + "<head>\n"
99 + " <script>\n"
100 + LOG_TEXTAREA_FUNCTION
101
102 + " function test() {\n"
103 + " if (!('AudioContext' in window)) {\n"
104 + " log('AudioContext not available');\n"
105 + " return;\n"
106 + " }\n"
107
108 + " var audioCtx = new AudioContext();\n"
109 + " try {\n"
110 + " gainNode = new GainNode();\n"
111 + " } catch(e) { log('Error 1'); }\n"
112
113 + " try {\n"
114 + " gainNode = new GainNode(undefined);\n"
115 + " } catch(e) { log('Error 2'); }\n"
116
117 + " try {\n"
118 + " gainNode = new GainNode(null);\n"
119 + " } catch(e) { log('Error 3'); }\n"
120
121 + " try {\n"
122 + " gainNode = new GainNode('wrong');\n"
123 + " } catch(e) { log('Error 4'); }\n"
124
125 + " }\n"
126 + " </script>\n"
127 + "</head>\n"
128 + "<body onload='test()'>\n"
129 + LOG_TEXTAREA
130 + "</body>\n"
131 + "</html>";
132
133 loadPageVerifyTextArea2(html);
134 }
135 }