View Javadoc
1   /*
2    * Copyright (c) 2002-2025 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.general.huge;
16  
17  import java.util.Collection;
18  
19  import org.htmlunit.junit.BrowserParameterizedRunner;
20  import org.htmlunit.junit.annotation.Alerts;
21  import org.htmlunit.junit.annotation.HtmlUnitNYI;
22  import org.junit.Test;
23  import org.junit.runner.RunWith;
24  import org.junit.runners.Parameterized.Parameters;
25  
26  /**
27   * Tests two Host classes, if one prototype is parent of another.
28   *
29   * This class handles all host names which starts by character 'A'.
30   *
31   * @author Ahmed Ashour
32   * @author Ronald Brill
33   */
34  @RunWith(BrowserParameterizedRunner.class)
35  public class HostParentOfATest extends HostParentOf {
36  
37      /**
38       * Returns the parameterized data.
39       * @return the parameterized data
40       * @throws Exception if an error occurs
41       */
42      @Parameters
43      public static Collection<Object[]> data() throws Exception {
44          return HostParentOf.data(input -> {
45              final char ch = Character.toUpperCase(input.charAt(0));
46              return ch == 'A';
47          });
48      }
49  
50      /**
51       * @throws Exception if the test fails
52       */
53      @Test
54      @Alerts("true/false")
55      public void _AbortController_AbortController() throws Exception {
56          test("AbortController", "AbortController");
57      }
58  
59      /**
60       * @throws Exception if the test fails
61       */
62      @Test
63      @Alerts("true/false")
64      public void _AbortSignal_AbortSignal() throws Exception {
65          test("AbortSignal", "AbortSignal");
66      }
67  
68      /**
69       * @throws Exception if the test fails
70       */
71      @Test
72      @Alerts("true/false")
73      public void _AbstractRange_AbstractRange() throws Exception {
74          test("AbstractRange", "AbstractRange");
75      }
76  
77      /**
78       * @throws Exception if the test fails
79       */
80      @Test
81      @Alerts("true/true")
82      public void _AbstractRange_Range() throws Exception {
83          test("AbstractRange", "Range");
84      }
85  
86      /**
87       * @throws Exception if the test fails
88       */
89      @Test
90      @Alerts("false/false")
91      public void _ActiveXObject_ActiveXObject() throws Exception {
92          test("ActiveXObject", "ActiveXObject");
93      }
94  
95      /**
96       * @throws Exception if the test fails
97       */
98      @Test
99      @Alerts("true/false")
100     public void _AnalyserNode_AnalyserNode() throws Exception {
101         test("AnalyserNode", "AnalyserNode");
102     }
103 
104     /**
105      * @throws Exception if the test fails
106      */
107     @Test
108     @Alerts("false/false")
109     public void _ANGLE_instanced_arrays_ANGLE_instanced_arrays() throws Exception {
110         test("ANGLE_instanced_arrays", "ANGLE_instanced_arrays");
111     }
112 
113     /**
114      * @throws Exception if the test fails
115      */
116     @Test
117     @Alerts("true/false")
118     public void _Animation_Animation() throws Exception {
119         test("Animation", "Animation");
120     }
121 
122     /**
123      * @throws Exception if the test fails
124      */
125     @Test
126     @Alerts("true/false")
127     public void _AnimationEvent_AnimationEvent() throws Exception {
128         test("AnimationEvent", "AnimationEvent");
129     }
130 
131     /**
132      * @throws Exception if the test fails
133      */
134     @Test
135     @Alerts("false/false")
136     public void _ApplicationCache_ApplicationCache() throws Exception {
137         test("ApplicationCache", "ApplicationCache");
138     }
139 
140     /**
141      * @throws Exception if the test fails
142      */
143     @Test
144     @Alerts("false/false")
145     public void _ApplicationCacheErrorEvent_ApplicationCacheErrorEvent() throws Exception {
146         test("ApplicationCacheErrorEvent", "ApplicationCacheErrorEvent");
147     }
148 
149     /**
150      * @throws Exception if the test fails
151      */
152     @Test
153     @Alerts("true/false")
154     public void _ArrayBuffer_ArrayBuffer() throws Exception {
155         test("ArrayBuffer", "ArrayBuffer");
156     }
157 
158     /**
159      * @throws Exception if the test fails
160      */
161     @Test
162     @Alerts("false/false")
163     @HtmlUnitNYI(CHROME = "true/false",
164             EDGE = "true/false",
165             FF = "true/false",
166             FF_ESR = "true/false")
167     public void _Atomics_Atomics() throws Exception {
168         test("Atomics", "Atomics");
169     }
170 
171     /**
172      * @throws Exception if the test fails
173      */
174     @Test
175     @Alerts("true/false")
176     public void _Attr_Attr() throws Exception {
177         test("Attr", "Attr");
178     }
179 
180     /**
181      * @throws Exception if the test fails
182      */
183     @Test
184     @Alerts("true/false")
185     public void _Audio_Audio() throws Exception {
186         test("Audio", "Audio");
187     }
188 
189     /**
190      * @throws Exception if the test fails
191      */
192     @Test
193     @Alerts("true/false")
194     @HtmlUnitNYI(CHROME = "false/false",
195             EDGE = "false/false",
196             FF = "false/false",
197             FF_ESR = "false/false")
198     public void _Audio_HTMLAudioElement() throws Exception {
199         test("Audio", "HTMLAudioElement");
200     }
201 
202     /**
203      * @throws Exception if the test fails
204      */
205     @Test
206     @Alerts("true/false")
207     public void _AudioBuffer_AudioBuffer() throws Exception {
208         test("AudioBuffer", "AudioBuffer");
209     }
210 
211     /**
212      * @throws Exception if the test fails
213      */
214     @Test
215     @Alerts("true/false")
216     public void _AudioBufferSourceNode_AudioBufferSourceNode() throws Exception {
217         test("AudioBufferSourceNode", "AudioBufferSourceNode");
218     }
219 
220     /**
221      * @throws Exception if the test fails
222      */
223     @Test
224     @Alerts("true/false")
225     public void _AudioContext_AudioContext() throws Exception {
226         test("AudioContext", "AudioContext");
227     }
228 
229     /**
230      * @throws Exception if the test fails
231      */
232     @Test
233     @Alerts("true/false")
234     public void _AudioDestinationNode_AudioDestinationNode() throws Exception {
235         test("AudioDestinationNode", "AudioDestinationNode");
236     }
237 
238     /**
239      * @throws Exception if the test fails
240      */
241     @Test
242     @Alerts("true/false")
243     public void _AudioListener_AudioListener() throws Exception {
244         test("AudioListener", "AudioListener");
245     }
246 
247     /**
248      * @throws Exception if the test fails
249      */
250     @Test
251     @Alerts("true/true")
252     public void _AudioNode_AnalyserNode() throws Exception {
253         test("AudioNode", "AnalyserNode");
254     }
255 
256     /**
257      * @throws Exception if the test fails
258      */
259     @Test
260     @Alerts("true/false")
261     public void _AudioNode_AudioBufferSourceNode() throws Exception {
262         test("AudioNode", "AudioBufferSourceNode");
263     }
264 
265     /**
266      * @throws Exception if the test fails
267      */
268     @Test
269     @Alerts("true/true")
270     public void _AudioNode_AudioDestinationNode() throws Exception {
271         test("AudioNode", "AudioDestinationNode");
272     }
273 
274     /**
275      * @throws Exception if the test fails
276      */
277     @Test
278     @Alerts("true/false")
279     public void _AudioNode_AudioNode() throws Exception {
280         test("AudioNode", "AudioNode");
281     }
282 
283     /**
284      * @throws Exception if the test fails
285      */
286     @Test
287     @Alerts("true/true")
288     public void _AudioNode_AudioScheduledSourceNode() throws Exception {
289         test("AudioNode", "AudioScheduledSourceNode");
290     }
291 
292     /**
293      * @throws Exception if the test fails
294      */
295     @Test
296     @Alerts("true/true")
297     public void _AudioNode_BiquadFilterNode() throws Exception {
298         test("AudioNode", "BiquadFilterNode");
299     }
300 
301     /**
302      * @throws Exception if the test fails
303      */
304     @Test
305     @Alerts("true/true")
306     public void _AudioNode_ChannelMergerNode() throws Exception {
307         test("AudioNode", "ChannelMergerNode");
308     }
309 
310     /**
311      * @throws Exception if the test fails
312      */
313     @Test
314     @Alerts("true/true")
315     public void _AudioNode_ChannelSplitterNode() throws Exception {
316         test("AudioNode", "ChannelSplitterNode");
317     }
318 
319     /**
320      * @throws Exception if the test fails
321      */
322     @Test
323     @Alerts("true/false")
324     public void _AudioNode_ConstantSourceNode() throws Exception {
325         test("AudioNode", "ConstantSourceNode");
326     }
327 
328     /**
329      * @throws Exception if the test fails
330      */
331     @Test
332     @Alerts("true/true")
333     public void _AudioNode_ConvolverNode() throws Exception {
334         test("AudioNode", "ConvolverNode");
335     }
336 
337     /**
338      * @throws Exception if the test fails
339      */
340     @Test
341     @Alerts("true/true")
342     public void _AudioNode_DelayNode() throws Exception {
343         test("AudioNode", "DelayNode");
344     }
345 
346     /**
347      * @throws Exception if the test fails
348      */
349     @Test
350     @Alerts("true/true")
351     public void _AudioNode_DynamicsCompressorNode() throws Exception {
352         test("AudioNode", "DynamicsCompressorNode");
353     }
354 
355     /**
356      * @throws Exception if the test fails
357      */
358     @Test
359     @Alerts("true/true")
360     public void _AudioNode_GainNode() throws Exception {
361         test("AudioNode", "GainNode");
362     }
363 
364     /**
365      * @throws Exception if the test fails
366      */
367     @Test
368     @Alerts("true/true")
369     public void _AudioNode_IIRFilterNode() throws Exception {
370         test("AudioNode", "IIRFilterNode");
371     }
372 
373     /**
374      * @throws Exception if the test fails
375      */
376     @Test
377     @Alerts("true/true")
378     public void _AudioNode_MediaElementAudioSourceNode() throws Exception {
379         test("AudioNode", "MediaElementAudioSourceNode");
380     }
381 
382     /**
383      * @throws Exception if the test fails
384      */
385     @Test
386     @Alerts("true/true")
387     public void _AudioNode_MediaStreamAudioDestinationNode() throws Exception {
388         test("AudioNode", "MediaStreamAudioDestinationNode");
389     }
390 
391     /**
392      * @throws Exception if the test fails
393      */
394     @Test
395     @Alerts("true/true")
396     public void _AudioNode_MediaStreamAudioSourceNode() throws Exception {
397         test("AudioNode", "MediaStreamAudioSourceNode");
398     }
399 
400     /**
401      * @throws Exception if the test fails
402      */
403     @Test
404     @Alerts("true/false")
405     public void _AudioNode_OscillatorNode() throws Exception {
406         test("AudioNode", "OscillatorNode");
407     }
408 
409     /**
410      * @throws Exception if the test fails
411      */
412     @Test
413     @Alerts("true/true")
414     public void _AudioNode_PannerNode() throws Exception {
415         test("AudioNode", "PannerNode");
416     }
417 
418     /**
419      * @throws Exception if the test fails
420      */
421     @Test
422     @Alerts("true/true")
423     public void _AudioNode_ScriptProcessorNode() throws Exception {
424         test("AudioNode", "ScriptProcessorNode");
425     }
426 
427     /**
428      * @throws Exception if the test fails
429      */
430     @Test
431     @Alerts("true/true")
432     public void _AudioNode_StereoPannerNode() throws Exception {
433         test("AudioNode", "StereoPannerNode");
434     }
435 
436     /**
437      * @throws Exception if the test fails
438      */
439     @Test
440     @Alerts("true/true")
441     public void _AudioNode_WaveShaperNode() throws Exception {
442         test("AudioNode", "WaveShaperNode");
443     }
444 
445     /**
446      * @throws Exception if the test fails
447      */
448     @Test
449     @Alerts("true/false")
450     public void _AudioParam_AudioParam() throws Exception {
451         test("AudioParam", "AudioParam");
452     }
453 
454     /**
455      * @throws Exception if the test fails
456      */
457     @Test
458     @Alerts("true/false")
459     public void _AudioProcessingEvent_AudioProcessingEvent() throws Exception {
460         test("AudioProcessingEvent", "AudioProcessingEvent");
461     }
462 
463     /**
464      * @throws Exception if the test fails
465      */
466     @Test
467     @Alerts("true/true")
468     public void _AudioScheduledSourceNode_AudioBufferSourceNode() throws Exception {
469         test("AudioScheduledSourceNode", "AudioBufferSourceNode");
470     }
471 
472     /**
473      * @throws Exception if the test fails
474      */
475     @Test
476     @Alerts("true/false")
477     public void _AudioScheduledSourceNode_AudioScheduledSourceNode() throws Exception {
478         test("AudioScheduledSourceNode", "AudioScheduledSourceNode");
479     }
480 
481     /**
482      * @throws Exception if the test fails
483      */
484     @Test
485     @Alerts("true/true")
486     public void _AudioScheduledSourceNode_ConstantSourceNode() throws Exception {
487         test("AudioScheduledSourceNode", "ConstantSourceNode");
488     }
489 
490     /**
491      * @throws Exception if the test fails
492      */
493     @Test
494     @Alerts("true/true")
495     public void _AudioScheduledSourceNode_OscillatorNode() throws Exception {
496         test("AudioScheduledSourceNode", "OscillatorNode");
497     }
498 }