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.javascript.host.css.property;
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   * Unit tests for {@code clientWidth} of an element.
24   *
25   * @author Ahmed Ashour
26   * @author Ronald Brill
27   */
28  public class ElementClientWidthTest extends WebDriverTestCase {
29  
30      private static final String VALUE_ = "e == null ? e : (e.clientWidth < 1000 ? e.clientWidth :"
31              + "e.clientWidth - document.documentElement.clientWidth)";
32  
33      private static String test(final String tagName) {
34          if ("basefont".equals(tagName) || "isindex".equals(tagName)) {
35              return headElementClosesItself(tagName);
36          }
37  
38          if ("frame".equals(tagName)) {
39              return DOCTYPE_HTML
40                      + "<html><head>\n"
41                      + "<script>\n"
42                      + LOG_TITLE_FUNCTION
43                      + "function test() {\n"
44                      + "  var e = document.getElementById('outer');\n"
45                      + "  log(" + VALUE_ + ");\n"
46                      + "}\n"
47                      + "</script>\n"
48                      + "</head>\n"
49                      + "<frameset onload='test()'>\n"
50                      + "<frame id='outer'><frame>\n"
51                      + "</frameset></html>";
52          }
53          if ("script".equals(tagName)) {
54              return DOCTYPE_HTML
55                      + "<html><head>\n"
56                      + "<script>\n"
57                      + LOG_TITLE_FUNCTION
58                      + "function test() {\n"
59                      + "  var e = document.getElementById('outer');\n"
60                      + "  log(" + VALUE_ + ");\n"
61                      + "}\n"
62                      + "</script>\n"
63                      + "</head><body onload='test()'>\n"
64                      + "<script id='outer'>//<script>\n"
65                      + "</script>\n"
66                      + "</body></html>";
67          }
68          if ("frameset".equals(tagName)) {
69              return DOCTYPE_HTML
70                      + "<html><head>\n"
71                      + "<script>\n"
72                      + LOG_TITLE_FUNCTION
73                      + "function test() {\n"
74                      + "  var e = document.getElementById('outer');\n"
75                      + "  log(" + VALUE_ + ");\n"
76                      + "}\n"
77                      + "</script>\n"
78                      + "</head>\n"
79                      + "<frameset onload='test()' id='outer'>\n"
80                      + "<frameset>\n"
81                      + "</frameset></html>";
82          }
83  
84          return DOCTYPE_HTML
85                  + "<html><head>\n"
86                  + "<script>\n"
87                  + LOG_TITLE_FUNCTION
88                  + "function test() {\n"
89                  + "  var e = document.getElementById('outer');\n"
90                  + "  log(" + VALUE_ + ");\n"
91                  + "}\n"
92                  + "</script>\n"
93                  + "</head><body onload='test()'>\n"
94                  + "<" + tagName + " id='outer'><" + tagName + "></" + tagName + "></" + tagName + ">\n"
95                  + "</body></html>";
96      }
97  
98      private static String testInput(final String type) {
99          return DOCTYPE_HTML
100                 + "<html><head>\n"
101                 + "<script>\n"
102                 + LOG_TITLE_FUNCTION
103                 + "function test() {\n"
104                 + "  var e = document.getElementById('outer');\n"
105                 + "  log(" + VALUE_ + ");\n"
106                 + "}\n"
107                 + "</script>\n"
108                 + "</head><body onload='test()'>\n"
109                 + "<input type='" + type + "' id='outer'>\n"
110                 + "</body></html>";
111     }
112 
113     private static String headElementClosesItself(final String tagName) {
114         return DOCTYPE_HTML
115                 + "<html><head>\n"
116                 + "<" + tagName + " id='outer'><" + tagName + ">\n"
117                 + "<script>\n"
118                 + LOG_TITLE_FUNCTION
119                 + "function test() {\n"
120                 + "  var e = document.getElementById('outer');\n"
121                 + "  log(" + VALUE_ + ");\n"
122                 + "}\n"
123                 + "</script>\n"
124                 + "</head><body onload='test()'>\n"
125                 + "</body></html>";
126     }
127 
128     /**
129      * Test {@link org.htmlunit.html.HtmlAbbreviated}.
130      *
131      * @throws Exception if the test fails
132      */
133     @Test
134     @Alerts("0")
135     public void abbr() throws Exception {
136         loadPageVerifyTitle2(test("abbr"));
137     }
138 
139     /**
140      * Test {@link org.htmlunit.html.HtmlAcronym}.
141      *
142      * @throws Exception if the test fails
143      */
144     @Test
145     @Alerts("0")
146     public void acronym() throws Exception {
147         loadPageVerifyTitle2(test("acronym"));
148     }
149 
150     /**
151      * Test {@link org.htmlunit.html.HtmlAnchor}.
152      *
153      * @throws Exception if the test fails
154      */
155     @Test
156     @Alerts("0")
157     public void a() throws Exception {
158         loadPageVerifyTitle2(test("a"));
159     }
160 
161     /**
162      * Test {@link org.htmlunit.html.HtmlAddress}.
163      *
164      * @throws Exception if the test fails
165      */
166     @Test
167     @Alerts("-16")
168     public void address() throws Exception {
169         loadPageVerifyTitle2(test("address"));
170     }
171 
172     /**
173      * Test {@link org.htmlunit.html.HtmlApplet}.
174      *
175      * @throws Exception if the test fails
176      */
177     @Test
178     @Alerts("0")
179     public void applet() throws Exception {
180         loadPageVerifyTitle2(test("applet"));
181     }
182 
183     /**
184      * Test {@link org.htmlunit.html.HtmlArea}.
185      *
186      * @throws Exception if the test fails
187      */
188     @Test
189     @Alerts("0")
190     public void area() throws Exception {
191         loadPageVerifyTitle2(test("area"));
192     }
193 
194     /**
195      * Test {@link org.htmlunit.html.HtmlArticle}.
196      *
197      * @throws Exception if the test fails
198      */
199     @Test
200     @Alerts("-16")
201     public void article() throws Exception {
202         loadPageVerifyTitle2(test("article"));
203     }
204 
205     /**
206      * Test {@link org.htmlunit.html.HtmlAside}.
207      *
208      * @throws Exception if the test fails
209      */
210     @Test
211     @Alerts("-16")
212     public void aside() throws Exception {
213         loadPageVerifyTitle2(test("aside"));
214     }
215 
216     /**
217      * Test {@link org.htmlunit.html.HtmlAudio}.
218      *
219      * @throws Exception if the test fails
220      */
221     @Test
222     @Alerts("0")
223     public void audio() throws Exception {
224         loadPageVerifyTitle2(test("audio"));
225     }
226 
227     /**
228      * Test {@link org.htmlunit.html.HtmlBackgroundSound}.
229      *
230      * @throws Exception if the test fails
231      */
232     @Test
233     @Alerts("0")
234     public void bgsound() throws Exception {
235         loadPageVerifyTitle2(test("bgsound"));
236     }
237 
238     /**
239      * Test {@link org.htmlunit.html.HtmlBase}.
240      *
241      * @throws Exception if the test fails
242      */
243     @Test
244     @Alerts("0")
245     public void base() throws Exception {
246         loadPageVerifyTitle2(test("base"));
247     }
248 
249     /**
250      * Test {@link org.htmlunit.html.HtmlBaseFont}.
251      *
252      * @throws Exception if the test fails
253      */
254     @Test
255     @Alerts("0")
256     public void basefont() throws Exception {
257         loadPageVerifyTitle2(test("basefont"));
258     }
259 
260     /**
261      * Test {@link org.htmlunit.html.HtmlBidirectionalIsolation}.
262      *
263      * @throws Exception if the test fails
264      */
265     @Test
266     @Alerts("0")
267     public void bdi() throws Exception {
268         loadPageVerifyTitle2(test("bdi"));
269     }
270 
271     /**
272      * Test {@link org.htmlunit.html.HtmlBidirectionalOverride}.
273      *
274      * @throws Exception if the test fails
275      */
276     @Test
277     @Alerts("0")
278     public void bdo() throws Exception {
279         loadPageVerifyTitle2(test("bdo"));
280     }
281 
282     /**
283      * Test {@link org.htmlunit.html.HtmlBig}.
284      *
285      * @throws Exception if the test fails
286      */
287     @Test
288     @Alerts("0")
289     public void big() throws Exception {
290         loadPageVerifyTitle2(test("big"));
291     }
292 
293     /**
294      * Test {@link org.htmlunit.html.HtmlBlink}.
295      *
296      * @throws Exception if the test fails
297      */
298     @Test
299     @Alerts("0")
300     public void blink() throws Exception {
301         loadPageVerifyTitle2(test("blink"));
302     }
303 
304     /**
305      * Test {@link org.htmlunit.html.HtmlBlockQuote}.
306      *
307      * @throws Exception if the test fails
308      */
309     @Test
310     @Alerts("-96")
311     @HtmlUnitNYI(CHROME = "-16",
312             EDGE = "-16",
313             FF = "-16",
314             FF_ESR = "-16")
315     public void blockquote() throws Exception {
316         loadPageVerifyTitle2(test("blockquote"));
317     }
318 
319     /**
320      * Test {@link org.htmlunit.html.HtmlBody}.
321      *
322      * @throws Exception if the test fails
323      */
324     @Test
325     @Alerts("-16")
326     @HtmlUnitNYI(CHROME = "0",
327             EDGE = "0",
328             FF = "0",
329             FF_ESR = "0")
330     public void body() throws Exception {
331         loadPageVerifyTitle2(test("body"));
332     }
333 
334     /**
335      * Test {@link org.htmlunit.html.HtmlBold}.
336      *
337      * @throws Exception if the test fails
338      */
339     @Test
340     @Alerts("0")
341     public void b() throws Exception {
342         loadPageVerifyTitle2(test("b"));
343     }
344 
345     /**
346      * Test {@link org.htmlunit.html.HtmlBreak}.
347      *
348      * @throws Exception if the test fails
349      */
350     @Test
351     @Alerts("0")
352     public void br() throws Exception {
353         loadPageVerifyTitle2(test("br"));
354     }
355 
356     /**
357      * Test {@link org.htmlunit.html.HtmlButton}.
358      *
359      * @throws Exception if the test fails
360      */
361     @Test
362     @Alerts(DEFAULT = "12",
363             FF = "8",
364             FF_ESR = "8")
365     @HtmlUnitNYI(CHROME = "10",
366             EDGE = "10",
367             FF = "10",
368             FF_ESR = "10")
369     public void button() throws Exception {
370         loadPageVerifyTitle2(test("button"));
371     }
372 
373     /**
374      * Test {@link org.htmlunit.html.HtmlCanvas}.
375      *
376      * @throws Exception if the test fails
377      */
378     @Test
379     @Alerts("300")
380     public void canvas() throws Exception {
381         loadPageVerifyTitle2(test("canvas"));
382     }
383 
384     /**
385      * Test {@link org.htmlunit.html.HtmlCaption}.
386      *
387      * @throws Exception if the test fails
388      */
389     @Test
390     @Alerts("null")
391     public void caption() throws Exception {
392         loadPageVerifyTitle2(test("caption"));
393     }
394 
395     /**
396      * Test {@link org.htmlunit.html.HtmlCenter}.
397      *
398      * @throws Exception if the test fails
399      */
400     @Test
401     @Alerts("-16")
402     public void center() throws Exception {
403         loadPageVerifyTitle2(test("center"));
404     }
405 
406     /**
407      * Test {@link org.htmlunit.html.HtmlCitation}.
408      *
409      * @throws Exception if the test fails
410      */
411     @Test
412     @Alerts("0")
413     public void cite() throws Exception {
414         loadPageVerifyTitle2(test("cite"));
415     }
416 
417     /**
418      * Test {@link org.htmlunit.html.HtmlCode}.
419      *
420      * @throws Exception if the test fails
421      */
422     @Test
423     @Alerts("0")
424     public void code() throws Exception {
425         loadPageVerifyTitle2(test("code"));
426     }
427 
428     /**
429      * Test {@link org.htmlunit.html.HtmlCommand}.
430      *
431      * @throws Exception if the test fails
432      */
433     @Test
434     @Alerts("0")
435     public void command() throws Exception {
436         loadPageVerifyTitle2(test("command"));
437     }
438 
439     /**
440      * Test {@link org.htmlunit.html.HtmlDataList}.
441      *
442      * @throws Exception if the test fails
443      */
444     @Test
445     @Alerts("0")
446     public void datalist() throws Exception {
447         loadPageVerifyTitle2(test("datalist"));
448     }
449 
450     /**
451      * Test {@link org.htmlunit.html.HtmlDetails}.
452      *
453      * @throws Exception if the test fails
454      */
455     @Test
456     @Alerts("-16")
457     public void details() throws Exception {
458         loadPageVerifyTitle2(test("details"));
459     }
460 
461     /**
462      * Test {@link org.htmlunit.html.HtmlDefinition}.
463      *
464      * @throws Exception if the test fails
465      */
466     @Test
467     @Alerts("0")
468     public void dfn() throws Exception {
469         loadPageVerifyTitle2(test("dfn"));
470     }
471 
472     /**
473      * Test {@link org.htmlunit.html.HtmlDefinitionDescription}.
474      *
475      * @throws Exception if the test fails
476      */
477     @Test
478     @Alerts("-56")
479     @HtmlUnitNYI(CHROME = "-16",
480             EDGE = "-16",
481             FF = "-16",
482             FF_ESR = "-16")
483     public void dd() throws Exception {
484         loadPageVerifyTitle2(test("dd"));
485     }
486 
487     /**
488      * Test {@link org.htmlunit.html.HtmlDeletedText}.
489      *
490      * @throws Exception if the test fails
491      */
492     @Test
493     @Alerts("0")
494     public void del() throws Exception {
495         loadPageVerifyTitle2(test("del"));
496     }
497 
498     /**
499      * Test {@link org.htmlunit.html.HtmlDialog}.
500      *
501      * @throws Exception if the test fails
502      */
503     @Test
504     @Alerts("0")
505     public void dialog() throws Exception {
506         loadPageVerifyTitle2(test("dialog"));
507     }
508 
509     /**
510      * Test {@link org.htmlunit.html.HtmlDirectory}.
511      *
512      * @throws Exception if the test fails
513      */
514     @Test
515     @Alerts("-16")
516     public void dir() throws Exception {
517         loadPageVerifyTitle2(test("dir"));
518     }
519 
520     /**
521      * Test {@link org.htmlunit.html.HtmlDivision}.
522      *
523      * @throws Exception if the test fails
524      */
525     @Test
526     @Alerts("-16")
527     public void div() throws Exception {
528         loadPageVerifyTitle2(test("div"));
529     }
530 
531     /**
532      * Test {@link org.htmlunit.html.HtmlDefinitionList}.
533      *
534      * @throws Exception if the test fails
535      */
536     @Test
537     @Alerts("-16")
538     public void dl() throws Exception {
539         loadPageVerifyTitle2(test("dl"));
540     }
541 
542     /**
543      * Test {@link org.htmlunit.html.HtmlDefinitionTerm}.
544      *
545      * @throws Exception if the test fails
546      */
547     @Test
548     @Alerts("-16")
549     public void dt() throws Exception {
550         loadPageVerifyTitle2(test("dt"));
551     }
552 
553     /**
554      * Test {@link org.htmlunit.html.HtmlEmbed}.
555      *
556      * @throws Exception if the test fails
557      */
558     @Test
559     @Alerts("0")
560     public void embed() throws Exception {
561         loadPageVerifyTitle2(test("embed"));
562     }
563 
564     /**
565      * Test {@link org.htmlunit.html.HtmlEmphasis}.
566      *
567      * @throws Exception if the test fails
568      */
569     @Test
570     @Alerts("0")
571     public void em() throws Exception {
572         loadPageVerifyTitle2(test("em"));
573     }
574 
575     /**
576      * Test {@link org.htmlunit.html.HtmlFieldSet}.
577      *
578      * @throws Exception if the test fails
579      */
580     @Test
581     @Alerts("-24")
582     @HtmlUnitNYI(CHROME = "-16",
583             EDGE = "-16",
584             FF = "-16",
585             FF_ESR = "-16")
586     public void fieldset() throws Exception {
587         loadPageVerifyTitle2(test("fieldset"));
588     }
589 
590     /**
591      * Test {@link org.htmlunit.html.HtmlFigureCaption}.
592      *
593      * @throws Exception if the test fails
594      */
595     @Test
596     @Alerts("-16")
597     public void figcaption() throws Exception {
598         loadPageVerifyTitle2(test("figcaption"));
599     }
600 
601     /**
602      * Test {@link org.htmlunit.html.HtmlFigure}.
603      *
604      * @throws Exception if the test fails
605      */
606     @Test
607     @Alerts("-96")
608     @HtmlUnitNYI(CHROME = "-16",
609             EDGE = "-16",
610             FF = "-16",
611             FF_ESR = "-16")
612     public void figure() throws Exception {
613         loadPageVerifyTitle2(test("figure"));
614     }
615 
616     /**
617      * Test {@link org.htmlunit.html.HtmlFont}.
618      *
619      * @throws Exception if the test fails
620      */
621     @Test
622     @Alerts("0")
623     public void font() throws Exception {
624         loadPageVerifyTitle2(test("font"));
625     }
626 
627     /**
628      * Test {@link org.htmlunit.html.HtmlFooter}.
629      *
630      * @throws Exception if the test fails
631      */
632     @Test
633     @Alerts("-16")
634     public void footer() throws Exception {
635         loadPageVerifyTitle2(test("footer"));
636     }
637 
638     /**
639      * Test {@link org.htmlunit.html.HtmlForm}.
640      *
641      * @throws Exception if the test fails
642      */
643     @Test
644     @Alerts("-16")
645     public void form() throws Exception {
646         loadPageVerifyTitle2(test("form"));
647     }
648 
649     /**
650      * Test {@link org.htmlunit.html.HtmlFrame}.
651      *
652      * @throws Exception if the test fails
653      */
654     @Test
655     @Alerts("0")
656     public void frame() throws Exception {
657         loadPageVerifyTitle2(test("frame"));
658     }
659 
660     /**
661      * Test {@link org.htmlunit.html.HtmlFrameSet}.
662      *
663      * @throws Exception if the test fails
664      */
665     @Test
666     @Alerts("0")
667     public void frameset() throws Exception {
668         loadPageVerifyTitle2(test("frameset"));
669     }
670 
671     /**
672      * Test {@link org.htmlunit.html.HtmlHeading1}.
673      *
674      * @throws Exception if the test fails
675      */
676     @Test
677     @Alerts("-16")
678     public void h1() throws Exception {
679         loadPageVerifyTitle2(test("h1"));
680     }
681 
682     /**
683      * Test {@link org.htmlunit.html.HtmlHeading2}.
684      *
685      * @throws Exception if the test fails
686      */
687     @Test
688     @Alerts("-16")
689     public void h2() throws Exception {
690         loadPageVerifyTitle2(test("h2"));
691     }
692 
693     /**
694      * Test {@link org.htmlunit.html.HtmlHeading3}.
695      *
696      * @throws Exception if the test fails
697      */
698     @Test
699     @Alerts("-16")
700     public void h3() throws Exception {
701         loadPageVerifyTitle2(test("h3"));
702     }
703 
704     /**
705      * Test {@link org.htmlunit.html.HtmlHeading4}.
706      *
707      * @throws Exception if the test fails
708      */
709     @Test
710     @Alerts("-16")
711     public void h4() throws Exception {
712         loadPageVerifyTitle2(test("h4"));
713     }
714 
715     /**
716      * Test {@link org.htmlunit.html.HtmlHeading5}.
717      *
718      * @throws Exception if the test fails
719      */
720     @Test
721     @Alerts("-16")
722     public void h5() throws Exception {
723         loadPageVerifyTitle2(test("h5"));
724     }
725 
726     /**
727      * Test {@link org.htmlunit.html.HtmlHeading6}.
728      *
729      * @throws Exception if the test fails
730      */
731     @Test
732     @Alerts("-16")
733     public void h6() throws Exception {
734         loadPageVerifyTitle2(test("h6"));
735     }
736 
737     /**
738      * Test {@link org.htmlunit.html.HtmlHead}.
739      *
740      * @throws Exception if the test fails
741      */
742     @Test
743     @Alerts("null")
744     public void head() throws Exception {
745         loadPageVerifyTitle2(test("head"));
746     }
747 
748     /**
749      * Test {@link org.htmlunit.html.HtmlHeader}.
750      *
751      * @throws Exception if the test fails
752      */
753     @Test
754     @Alerts("-16")
755     public void header() throws Exception {
756         loadPageVerifyTitle2(test("header"));
757     }
758 
759     /**
760      * Test {@link org.htmlunit.html.HtmlHorizontalRule}.
761      *
762      * @throws Exception if the test fails
763      */
764     @Test
765     @Alerts("-18")
766     @HtmlUnitNYI(CHROME = "-16",
767             EDGE = "-16",
768             FF = "-16",
769             FF_ESR = "-16")
770     public void hr() throws Exception {
771         loadPageVerifyTitle2(test("hr"));
772     }
773 
774     /**
775      * Test {@link org.htmlunit.html.HtmlHtml}.
776      *
777      * @throws Exception if the test fails
778      */
779     @Test
780     @Alerts("0")
781     public void html() throws Exception {
782         loadPageVerifyTitle2(test("html"));
783     }
784 
785     /**
786      * Test {@link org.htmlunit.html.HtmlInlineFrame}.
787      *
788      * @throws Exception if the test fails
789      */
790     @Test
791     @Alerts("300")
792     @HtmlUnitNYI(CHROME = "0",
793             EDGE = "0",
794             FF = "0",
795             FF_ESR = "0")
796     public void iframe() throws Exception {
797         loadPageVerifyTitle2(test("iframe"));
798     }
799 
800     /**
801      * Test {@link org.htmlunit.html.HtmlInlineQuotation}.
802      *
803      * @throws Exception if the test fails
804      */
805     @Test
806     @Alerts("0")
807     public void q() throws Exception {
808         loadPageVerifyTitle2(test("q"));
809     }
810 
811     /**
812      * Test {@link org.htmlunit.html.HtmlImage}.
813      *
814      * @throws Exception if the test fails
815      */
816     @Test
817     @Alerts("0")
818     public void image() throws Exception {
819         loadPageVerifyTitle2(test("image"));
820     }
821 
822     /**
823      * Test {@link org.htmlunit.html.HtmlImage}.
824      *
825      * @throws Exception if the test fails
826      */
827     @Test
828     @Alerts("0")
829     public void img() throws Exception {
830         loadPageVerifyTitle2(test("img"));
831     }
832 
833     /**
834      * Test {@link org.htmlunit.html.HtmlInsertedText}.
835      *
836      * @throws Exception if the test fails
837      */
838     @Test
839     @Alerts("0")
840     public void ins() throws Exception {
841         loadPageVerifyTitle2(test("ins"));
842     }
843 
844     /**
845      * Test {@link org.htmlunit.html.HtmlIsIndex}.
846      *
847      * @throws Exception if the test fails
848      */
849     @Test
850     @Alerts("0")
851     public void isindex() throws Exception {
852         loadPageVerifyTitle2(test("isindex"));
853     }
854 
855     /**
856      * Test {@link org.htmlunit.html.HtmlItalic}.
857      *
858      * @throws Exception if the test fails
859      */
860     @Test
861     @Alerts("0")
862     public void i() throws Exception {
863         loadPageVerifyTitle2(test("i"));
864     }
865 
866     /**
867      * Test {@link org.htmlunit.html.HtmlKeyboard}.
868      *
869      * @throws Exception if the test fails
870      */
871     @Test
872     @Alerts("0")
873     public void kbd() throws Exception {
874         loadPageVerifyTitle2(test("kbd"));
875     }
876 
877     /**
878      * @throws Exception if the test fails
879      */
880     @Test
881     @Alerts("0")
882     public void keygen() throws Exception {
883         loadPageVerifyTitle2(test("keygen"));
884     }
885 
886     /**
887      * Test {@link org.htmlunit.html.HtmlLabel}.
888      *
889      * @throws Exception if the test fails
890      */
891     @Test
892     @Alerts("0")
893     public void label() throws Exception {
894         loadPageVerifyTitle2(test("label"));
895     }
896 
897     /**
898      * Test {@link org.htmlunit.html.HtmlLayer}.
899      *
900      * @throws Exception if the test fails
901      */
902     @Test
903     @Alerts("0")
904     public void layer() throws Exception {
905         loadPageVerifyTitle2(test("layer"));
906     }
907 
908     /**
909      * Test {@link org.htmlunit.html.HtmlLegend}.
910      *
911      * @throws Exception if the test fails
912      */
913     @Test
914     @Alerts("-16")
915     public void legend() throws Exception {
916         loadPageVerifyTitle2(test("legend"));
917     }
918 
919     /**
920      * Test {@link org.htmlunit.html.HtmlListing}.
921      *
922      * @throws Exception if the test fails
923      */
924     @Test
925     @Alerts("-16")
926     public void listing() throws Exception {
927         loadPageVerifyTitle2(test("listing"));
928     }
929 
930     /**
931      * Test {@link org.htmlunit.html.HtmlListItem}.
932      *
933      * @throws Exception if the test fails
934      */
935     @Test
936     @Alerts("-16")
937     @HtmlUnitNYI(CHROME = "0",
938             EDGE = "0",
939             FF = "0",
940             FF_ESR = "0")
941     public void li() throws Exception {
942         loadPageVerifyTitle2(test("li"));
943     }
944 
945     /**
946      * Test {@link org.htmlunit.html.HtmlLink}.
947      *
948      * @throws Exception if the test fails
949      */
950     @Test
951     @Alerts("0")
952     public void link() throws Exception {
953         loadPageVerifyTitle2(test("link"));
954     }
955 
956     /**
957      * Test {@link org.htmlunit.html.HtmlMain}.
958      *
959      * @throws Exception if the test fails
960      */
961     @Test
962     @Alerts("-16")
963     public void main() throws Exception {
964         loadPageVerifyTitle2(test("main"));
965     }
966 
967     /**
968      * Test {@link org.htmlunit.html.HtmlMap}.
969      *
970      * @throws Exception if the test fails
971      */
972     @Test
973     @Alerts("0")
974     public void map() throws Exception {
975         loadPageVerifyTitle2(test("map"));
976     }
977 
978     /**
979      * Test {@link org.htmlunit.html.HtmlMarquee}.
980      *
981      * @throws Exception if the test fails
982      */
983     @Test
984     @Alerts("-16")
985     @HtmlUnitNYI(CHROME = "0",
986             EDGE = "0",
987             FF = "0",
988             FF_ESR = "0")
989     public void marquee() throws Exception {
990         loadPageVerifyTitle2(test("marquee"));
991     }
992 
993     /**
994      * Test {@link org.htmlunit.html.HtmlMark}.
995      *
996      * @throws Exception if the test fails
997      */
998     @Test
999     @Alerts("0")
1000     public void mark() throws Exception {
1001         loadPageVerifyTitle2(test("mark"));
1002     }
1003 
1004     /**
1005      * Test {@link org.htmlunit.html.HtmlMenu}.
1006      *
1007      * @throws Exception if the test fails
1008      */
1009     @Test
1010     @Alerts("-16")
1011     public void menu() throws Exception {
1012         loadPageVerifyTitle2(test("menu"));
1013     }
1014 
1015     /**
1016      * Test {@link org.htmlunit.html.HtmlMenuItem}.
1017      *
1018      * @throws Exception if the test fails
1019      */
1020     @Test
1021     @Alerts("0")
1022     public void menuitem() throws Exception {
1023         loadPageVerifyTitle2(test("menuitem"));
1024     }
1025 
1026     /**
1027      * Test {@link org.htmlunit.html.HtmlMeta}.
1028      *
1029      * @throws Exception if the test fails
1030      */
1031     @Test
1032     @Alerts("0")
1033     public void meta() throws Exception {
1034         loadPageVerifyTitle2(test("meta"));
1035     }
1036 
1037     /**
1038      * Test {@link org.htmlunit.html.HtmlMeter}.
1039      *
1040      * @throws Exception if the test fails
1041      */
1042     @Test
1043     @Alerts("80")
1044     @HtmlUnitNYI(CHROME = "0",
1045             EDGE = "0",
1046             FF = "0",
1047             FF_ESR = "0")
1048     public void meter() throws Exception {
1049         loadPageVerifyTitle2(test("meter"));
1050     }
1051 
1052     /**
1053      * Test {@link org.htmlunit.html.HtmlMultiColumn}.
1054      *
1055      * @throws Exception if the test fails
1056      */
1057     @Test
1058     @Alerts("0")
1059     public void multicol() throws Exception {
1060         loadPageVerifyTitle2(test("multicol"));
1061     }
1062 
1063     /**
1064      * Test {@link org.htmlunit.html.HtmlNoBreak}.
1065      *
1066      * @throws Exception if the test fails
1067      */
1068     @Test
1069     @Alerts("0")
1070     public void nobr() throws Exception {
1071         loadPageVerifyTitle2(test("nobr"));
1072     }
1073 
1074     /**
1075      * Test {@link org.htmlunit.html.HtmlNav}.
1076      *
1077      * @throws Exception if the test fails
1078      */
1079     @Test
1080     @Alerts("-16")
1081     public void nav() throws Exception {
1082         loadPageVerifyTitle2(test("nav"));
1083     }
1084 
1085     /**
1086      * Test {@link org.htmlunit.html.HtmlNextId}.
1087      *
1088      * @throws Exception if the test fails
1089      */
1090     @Test
1091     @Alerts("0")
1092     public void nextid() throws Exception {
1093         loadPageVerifyTitle2(test("nextid"));
1094     }
1095 
1096     /**
1097      * Test {@link org.htmlunit.html.HtmlNoEmbed}.
1098      *
1099      * @throws Exception if the test fails
1100      */
1101     @Test
1102     @Alerts("0")
1103     public void noembed() throws Exception {
1104         loadPageVerifyTitle2(test("noembed"));
1105     }
1106 
1107     /**
1108      * Test {@link org.htmlunit.html.HtmlNoFrames}.
1109      *
1110      * @throws Exception if the test fails
1111      */
1112     @Test
1113     @Alerts("0")
1114     public void noframes() throws Exception {
1115         loadPageVerifyTitle2(test("noframes"));
1116     }
1117 
1118     /**
1119      * Test {@link org.htmlunit.html.HtmlNoLayer}.
1120      *
1121      * @throws Exception if the test fails
1122      */
1123     @Test
1124     @Alerts("0")
1125     public void nolayer() throws Exception {
1126         loadPageVerifyTitle2(test("nolayer"));
1127     }
1128 
1129     /**
1130      * Test {@link org.htmlunit.html.HtmlNoScript}.
1131      *
1132      * @throws Exception if the test fails
1133      */
1134     @Test
1135     @Alerts("0")
1136     @HtmlUnitNYI(CHROME = "100",
1137             EDGE = "100")
1138     public void noscript() throws Exception {
1139         loadPageVerifyTitle2(test("noscript"));
1140     }
1141 
1142     /**
1143      * Test {@link org.htmlunit.html.HtmlObject}.
1144      *
1145      * @throws Exception if the test fails
1146      */
1147     @Test
1148     @Alerts("0")
1149     public void object() throws Exception {
1150         loadPageVerifyTitle2(test("object"));
1151     }
1152 
1153     /**
1154      * Test {@link org.htmlunit.html.HtmlOrderedList}.
1155      *
1156      * @throws Exception if the test fails
1157      */
1158     @Test
1159     @Alerts("-16")
1160     public void ol() throws Exception {
1161         loadPageVerifyTitle2(test("ol"));
1162     }
1163 
1164     /**
1165      * Test {@link org.htmlunit.html.HtmlOptionGroup}.
1166      *
1167      * @throws Exception if the test fails
1168      */
1169     @Test
1170     @Alerts("-16")
1171     public void optgroup() throws Exception {
1172         loadPageVerifyTitle2(test("optgroup"));
1173     }
1174 
1175     /**
1176      * Test {@link org.htmlunit.html.HtmlOption}.
1177      *
1178      * @throws Exception if the test fails
1179      */
1180     @Test
1181     @Alerts("-16")
1182     public void option() throws Exception {
1183         loadPageVerifyTitle2(test("option"));
1184     }
1185 
1186     /**
1187      * Test {@link org.htmlunit.html.HtmlOutput}.
1188      *
1189      * @throws Exception if the test fails
1190      */
1191     @Test
1192     @Alerts("0")
1193     public void output() throws Exception {
1194         loadPageVerifyTitle2(test("output"));
1195     }
1196 
1197     /**
1198      * Test {@link org.htmlunit.html.HtmlParagraph}.
1199      *
1200      * @throws Exception if the test fails
1201      */
1202     @Test
1203     @Alerts("-16")
1204     public void p() throws Exception {
1205         loadPageVerifyTitle2(test("p"));
1206     }
1207 
1208     /**
1209      * Test {@link org.htmlunit.html.HtmlParameter}.
1210      *
1211      * @throws Exception if the test fails
1212      */
1213     @Test
1214     @Alerts("0")
1215     public void param() throws Exception {
1216         loadPageVerifyTitle2(test("param"));
1217     }
1218 
1219     /**
1220      * Test {@link org.htmlunit.html.HtmlPlainText}.
1221      *
1222      * @throws Exception if the test fails
1223      */
1224     @Test
1225     @Alerts("-16")
1226     public void plaintext() throws Exception {
1227         loadPageVerifyTitle2(test("plaintext"));
1228     }
1229 
1230     /**
1231      * Test {@link org.htmlunit.html.HtmlPreformattedText}.
1232      *
1233      * @throws Exception if the test fails
1234      */
1235     @Test
1236     @Alerts("-16")
1237     public void pre() throws Exception {
1238         loadPageVerifyTitle2(test("pre"));
1239     }
1240 
1241     /**
1242      * Test {@link org.htmlunit.html.HtmlProgress}.
1243      *
1244      * @throws Exception if the test fails
1245      */
1246     @Test
1247     @Alerts("160")
1248     @HtmlUnitNYI(CHROME = "0",
1249             EDGE = "0",
1250             FF = "0",
1251             FF_ESR = "0")
1252     public void progress() throws Exception {
1253         loadPageVerifyTitle2(test("progress"));
1254     }
1255 
1256     /**
1257      * Test {@link org.htmlunit.html.HtmlRuby}.
1258      *
1259      * @throws Exception if the test fails
1260      */
1261     @Test
1262     @Alerts("0")
1263     public void ruby() throws Exception {
1264         loadPageVerifyTitle2(test("ruby"));
1265     }
1266 
1267     /**
1268      * Test {@link org.htmlunit.html.HtmlRb}.
1269      *
1270      * @throws Exception if the test fails
1271      */
1272     @Test
1273     @Alerts("0")
1274     public void rb() throws Exception {
1275         loadPageVerifyTitle2(test("rb"));
1276     }
1277 
1278     /**
1279      * Test {@link org.htmlunit.html.HtmlRp}.
1280      *
1281      * @throws Exception if the test fails
1282      */
1283     @Test
1284     @Alerts("0")
1285     public void rp() throws Exception {
1286         loadPageVerifyTitle2(test("rp"));
1287     }
1288 
1289     /**
1290      * Test {@link org.htmlunit.html.HtmlRt}.
1291      *
1292      * @throws Exception if the test fails
1293      */
1294     @Test
1295     @Alerts("0")
1296     public void rt() throws Exception {
1297         loadPageVerifyTitle2(test("rt"));
1298     }
1299 
1300     /**
1301      * Test {@link org.htmlunit.html.HtmlRtc}.
1302      *
1303      * @throws Exception if the test fails
1304      */
1305     @Test
1306     @Alerts("0")
1307     public void rtc() throws Exception {
1308         loadPageVerifyTitle2(test("rtc"));
1309     }
1310 
1311     /**
1312      * Test {@link org.htmlunit.html.HtmlS}.
1313      *
1314      * @throws Exception if the test fails
1315      */
1316     @Test
1317     @Alerts("0")
1318     public void s() throws Exception {
1319         loadPageVerifyTitle2(test("s"));
1320     }
1321 
1322     /**
1323      * Test {@link org.htmlunit.html.HtmlSample}.
1324      *
1325      * @throws Exception if the test fails
1326      */
1327     @Test
1328     @Alerts("0")
1329     public void samp() throws Exception {
1330         loadPageVerifyTitle2(test("samp"));
1331     }
1332 
1333     /**
1334      * Test {@link org.htmlunit.html.HtmlScript}.
1335      *
1336      * @throws Exception if the test fails
1337      */
1338     @Test
1339     @Alerts("0")
1340     public void script() throws Exception {
1341         loadPageVerifyTitle2(test("script"));
1342     }
1343 
1344     /**
1345      * Test {@link org.htmlunit.html.HtmlSection}.
1346      *
1347      * @throws Exception if the test fails
1348      */
1349     @Test
1350     @Alerts("-16")
1351     public void section() throws Exception {
1352         loadPageVerifyTitle2(test("section"));
1353     }
1354 
1355     /**
1356      * Test {@link org.htmlunit.html.HtmlSelect}.
1357      *
1358      * @throws Exception if the test fails
1359      */
1360     @Test
1361     @Alerts(CHROME = "20",
1362             EDGE = "20",
1363             FF = "26",
1364             FF_ESR = "26")
1365     @HtmlUnitNYI(CHROME = "0",
1366             EDGE = "0",
1367             FF = "0",
1368             FF_ESR = "0")
1369     public void select() throws Exception {
1370         loadPageVerifyTitle2(test("select"));
1371     }
1372 
1373     /**
1374      * Test {@link org.htmlunit.html.HtmlSmall}.
1375      *
1376      * @throws Exception if the test fails
1377      */
1378     @Test
1379     @Alerts("0")
1380     public void small() throws Exception {
1381         loadPageVerifyTitle2(test("small"));
1382     }
1383 
1384     /**
1385      * Test {@link org.htmlunit.html.HtmlSource}.
1386      *
1387      * @throws Exception if the test fails
1388      */
1389     @Test
1390     @Alerts("0")
1391     public void source() throws Exception {
1392         loadPageVerifyTitle2(test("source"));
1393     }
1394 
1395     /**
1396      * @throws Exception if the test fails
1397      */
1398     @Test
1399     @Alerts("0")
1400     public void spacer() throws Exception {
1401         loadPageVerifyTitle2(test("spacer"));
1402     }
1403 
1404     /**
1405      * Test {@link org.htmlunit.html.HtmlSpan}.
1406      *
1407      * @throws Exception if the test fails
1408      */
1409     @Test
1410     @Alerts("0")
1411     public void span() throws Exception {
1412         loadPageVerifyTitle2(test("span"));
1413     }
1414 
1415     /**
1416      * Test {@link org.htmlunit.html.HtmlStrike}.
1417      *
1418      * @throws Exception if the test fails
1419      */
1420     @Test
1421     @Alerts("0")
1422     public void strike() throws Exception {
1423         loadPageVerifyTitle2(test("strike"));
1424     }
1425 
1426     /**
1427      * Test {@link org.htmlunit.html.HtmlStrong}.
1428      *
1429      * @throws Exception if the test fails
1430      */
1431     @Test
1432     @Alerts("0")
1433     public void strong() throws Exception {
1434         loadPageVerifyTitle2(test("strong"));
1435     }
1436 
1437     /**
1438      * Test {@link org.htmlunit.html.HtmlStyle}.
1439      *
1440      * @throws Exception if the test fails
1441      */
1442     @Test
1443     @Alerts("0")
1444     public void style() throws Exception {
1445         loadPageVerifyTitle2(test("style"));
1446     }
1447 
1448     /**
1449      * Test {@link org.htmlunit.html.HtmlSubscript}.
1450      *
1451      * @throws Exception if the test fails
1452      */
1453     @Test
1454     @Alerts("0")
1455     public void sub() throws Exception {
1456         loadPageVerifyTitle2(test("sub"));
1457     }
1458 
1459     /**
1460      * Test {@link org.htmlunit.html.HtmlSummary}.
1461      *
1462      * @throws Exception if the test fails
1463      */
1464     @Test
1465     @Alerts("-16")
1466     public void summary() throws Exception {
1467         loadPageVerifyTitle2(test("summary"));
1468     }
1469 
1470     /**
1471      * Test {@link org.htmlunit.html.HtmlSuperscript}.
1472      *
1473      * @throws Exception if the test fails
1474      */
1475     @Test
1476     @Alerts("0")
1477     public void sup() throws Exception {
1478         loadPageVerifyTitle2(test("sup"));
1479     }
1480 
1481     /**
1482      * Test {@link org.htmlunit.html.HtmlSvg}.
1483      *
1484      * @throws Exception if the test fails
1485      */
1486     @Test
1487     @Alerts("300")
1488     @HtmlUnitNYI(CHROME = "-16",
1489             EDGE = "-16",
1490             FF = "-16",
1491             FF_ESR = "-16")
1492     public void svg() throws Exception {
1493         loadPageVerifyTitle2(test("svg"));
1494     }
1495 
1496     /**
1497      * Test {@link org.htmlunit.html.HtmlTable}.
1498      *
1499      * @throws Exception if the test fails
1500      */
1501     @Test
1502     @Alerts("0")
1503     public void table() throws Exception {
1504         loadPageVerifyTitle2(test("table"));
1505     }
1506 
1507     /**
1508      * Test {@link org.htmlunit.html.HtmlTableColumn}.
1509      *
1510      * @throws Exception if the test fails
1511      */
1512     @Test
1513     @Alerts("null")
1514     public void col() throws Exception {
1515         loadPageVerifyTitle2(test("col"));
1516     }
1517 
1518     /**
1519      * Test {@link org.htmlunit.html.HtmlTableColumnGroup}.
1520      *
1521      * @throws Exception if the test fails
1522      */
1523     @Test
1524     @Alerts("null")
1525     public void colgroup() throws Exception {
1526         loadPageVerifyTitle2(test("colgroup"));
1527     }
1528 
1529     /**
1530      * Test {@link org.htmlunit.html.HtmlTableBody}.
1531      *
1532      * @throws Exception if the test fails
1533      */
1534     @Test
1535     @Alerts("null")
1536     public void tbody() throws Exception {
1537         loadPageVerifyTitle2(test("tbody"));
1538     }
1539 
1540     /**
1541      * Test {@link org.htmlunit.html.HtmlTableDataCell}.
1542      *
1543      * @throws Exception if the test fails
1544      */
1545     @Test
1546     @Alerts("null")
1547     public void td() throws Exception {
1548         loadPageVerifyTitle2(test("td"));
1549     }
1550 
1551     /**
1552      * Test {@link org.htmlunit.html.HtmlTableHeaderCell}.
1553      *
1554      * @throws Exception if the test fails
1555      */
1556     @Test
1557     @Alerts("null")
1558     public void th() throws Exception {
1559         loadPageVerifyTitle2(test("th"));
1560     }
1561 
1562     /**
1563      * Test {@link org.htmlunit.html.HtmlTableRow}.
1564      *
1565      * @throws Exception if the test fails
1566      */
1567     @Test
1568     @Alerts("null")
1569     public void tr() throws Exception {
1570         loadPageVerifyTitle2(test("tr"));
1571     }
1572 
1573     /**
1574      * Test {@link org.htmlunit.html.HtmlTrack}.
1575      *
1576      * @throws Exception if the test fails
1577      */
1578     @Test
1579     @Alerts("0")
1580     public void track() throws Exception {
1581         loadPageVerifyTitle2(test("track"));
1582     }
1583 
1584     /**
1585      * Test {@link org.htmlunit.html.HtmlTextArea}.
1586      *
1587      * @throws Exception if the test fails
1588      */
1589     @Test
1590     @Alerts(CHROME = "166",
1591             EDGE = "166",
1592             FF = "147",
1593             FF_ESR = "147")
1594     @HtmlUnitNYI(CHROME = "100",
1595             EDGE = "100",
1596             FF = "100",
1597             FF_ESR = "100")
1598     public void textarea() throws Exception {
1599         loadPageVerifyTitle2(test("textarea"));
1600     }
1601 
1602     /**
1603      * Test {@link org.htmlunit.html.HtmlTableFooter}.
1604      *
1605      * @throws Exception if the test fails
1606      */
1607     @Test
1608     @Alerts("null")
1609     public void tfoot() throws Exception {
1610         loadPageVerifyTitle2(test("tfoot"));
1611     }
1612 
1613     /**
1614      * Test {@link org.htmlunit.html.HtmlTableHeader}.
1615      *
1616      * @throws Exception if the test fails
1617      */
1618     @Test
1619     @Alerts("null")
1620     public void thead() throws Exception {
1621         loadPageVerifyTitle2(test("thead"));
1622     }
1623 
1624     /**
1625      * Test {@link org.htmlunit.html.HtmlTeletype}.
1626      *
1627      * @throws Exception if the test fails
1628      */
1629     @Test
1630     @Alerts("0")
1631     public void tt() throws Exception {
1632         loadPageVerifyTitle2(test("tt"));
1633     }
1634 
1635     /**
1636      * Test {@link org.htmlunit.html.HtmlTime}.
1637      *
1638      * @throws Exception if the test fails
1639      */
1640     @Test
1641     @Alerts("0")
1642     public void time() throws Exception {
1643         loadPageVerifyTitle2(test("time"));
1644     }
1645 
1646     /**
1647      * Test {@link org.htmlunit.html.HtmlTitle}.
1648      *
1649      * @throws Exception if the test fails
1650      */
1651     @Test
1652     @Alerts("0")
1653     public void title() throws Exception {
1654         // title is a bit special, we have to provide at least
1655         // one closing tab otherwise title spans to the end of the file
1656         final String html = DOCTYPE_HTML
1657                 + "<html><head>\n"
1658                 + "<script>\n"
1659                 + "function test() {\n"
1660                 + "  var e = document.getElementById('outer');\n"
1661                 + "  alert(" + VALUE_ + ");\n"
1662                 + "}\n"
1663                 + "</script>\n"
1664                 + "<title id='outer'><title></title>\n"
1665                 + "</head><body onload='test()'>\n"
1666                 + "</body></html>";
1667 
1668         loadPageWithAlerts2(html);
1669     }
1670 
1671     /**
1672      * Test {@link org.htmlunit.html.HtmlUnderlined}.
1673      *
1674      * @throws Exception if the test fails
1675      */
1676     @Test
1677     @Alerts("0")
1678     public void u() throws Exception {
1679         loadPageVerifyTitle2(test("u"));
1680     }
1681 
1682     /**
1683      * Test {@link org.htmlunit.html.HtmlUnorderedList}.
1684      *
1685      * @throws Exception if the test fails
1686      */
1687     @Test
1688     @Alerts("-16")
1689     public void ul() throws Exception {
1690         loadPageVerifyTitle2(test("ul"));
1691     }
1692 
1693     /**
1694      * Test {@link org.htmlunit.html.HtmlVariable}.
1695      *
1696      * @throws Exception if the test fails
1697      */
1698     @Test
1699     @Alerts("0")
1700     public void var() throws Exception {
1701         loadPageVerifyTitle2(test("var"));
1702     }
1703 
1704     /**
1705      * Test {@link org.htmlunit.html.HtmlVideo}.
1706      *
1707      * @throws Exception if the test fails
1708      */
1709     @Test
1710     @Alerts("300")
1711     @HtmlUnitNYI(CHROME = "0",
1712             EDGE = "0",
1713             FF = "0",
1714             FF_ESR = "0")
1715     public void video() throws Exception {
1716         loadPageVerifyTitle2(test("video"));
1717     }
1718 
1719     /**
1720      * Test {@link org.htmlunit.html.HtmlWordBreak}.
1721      *
1722      * @throws Exception if the test fails
1723      */
1724     @Test
1725     @Alerts("0")
1726     public void wbr() throws Exception {
1727         loadPageVerifyTitle2(test("wbr"));
1728     }
1729 
1730     /**
1731      * Test {@link org.htmlunit.html.HtmlExample}.
1732      *
1733      * @throws Exception if the test fails
1734      */
1735     @Test
1736     @Alerts("-16")
1737     public void xmp() throws Exception {
1738         loadPageVerifyTitle2(test("xmp"));
1739     }
1740 
1741     /**
1742      * Test {@link org.htmlunit.html.HtmlInput}.
1743      *
1744      * @throws Exception if the test fails
1745      */
1746     @Test
1747     @Alerts(DEFAULT = "173",
1748             FF = "157",
1749             FF_ESR = "161")
1750     public void input() throws Exception {
1751         loadPageVerifyTitle2(test("input"));
1752     }
1753 
1754     /**
1755      * Test {@link org.htmlunit.html.HtmlInput}.
1756      *
1757      * @throws Exception if the test fails
1758      */
1759     @Test
1760     @Alerts(DEFAULT = "12",
1761             FF = "8",
1762             FF_ESR = "8")
1763     @HtmlUnitNYI(CHROME = "10",
1764             EDGE = "10",
1765             FF = "10",
1766             FF_ESR = "10")
1767     public void inputButton() throws Exception {
1768         loadPageVerifyTitle2(testInput("button"));
1769     }
1770 
1771     /**
1772      * Test {@link org.htmlunit.html.HtmlInput}.
1773      *
1774      * @throws Exception if the test fails
1775      */
1776     @Test
1777     @Alerts(DEFAULT = "13",
1778             FF = "14",
1779             FF_ESR = "14")
1780     public void inputCheckbox() throws Exception {
1781         loadPageVerifyTitle2(testInput("checkbox"));
1782     }
1783 
1784     /**
1785      * Test {@link org.htmlunit.html.HtmlInput}.
1786      *
1787      * @throws Exception if the test fails
1788      */
1789     @Test
1790     @Alerts(DEFAULT = "253",
1791             FF = "231",
1792             FF_ESR = "231")
1793     @HtmlUnitNYI(CHROME = "10",
1794             EDGE = "10",
1795             FF = "10",
1796             FF_ESR = "10")
1797     public void inputFile() throws Exception {
1798         loadPageVerifyTitle2(testInput("file"));
1799     }
1800 
1801     /**
1802      * Test {@link org.htmlunit.html.HtmlInput}.
1803      *
1804      * @throws Exception if the test fails
1805      */
1806     @Test
1807     @Alerts("0")
1808     public void inputHidden() throws Exception {
1809         loadPageVerifyTitle2(testInput("hidden"));
1810     }
1811 
1812     /**
1813      * Test {@link org.htmlunit.html.HtmlInput}.
1814      *
1815      * @throws Exception if the test fails
1816      */
1817     @Test
1818     @Alerts(DEFAULT = "173",
1819             FF = "157",
1820             FF_ESR = "161")
1821     public void inputPassword() throws Exception {
1822         loadPageVerifyTitle2(testInput("password"));
1823     }
1824 
1825     /**
1826      * Test {@link org.htmlunit.html.HtmlInput}.
1827      *
1828      * @throws Exception if the test fails
1829      */
1830     @Test
1831     @Alerts(DEFAULT = "13",
1832             FF = "14",
1833             FF_ESR = "14")
1834     public void inputRadio() throws Exception {
1835         loadPageVerifyTitle2(testInput("radio"));
1836     }
1837 
1838     /**
1839      * Test {@link org.htmlunit.html.HtmlInput}.
1840      *
1841      * @throws Exception if the test fails
1842      */
1843     @Test
1844     @Alerts(DEFAULT = "47",
1845             FF = "40",
1846             FF_ESR = "40")
1847     @HtmlUnitNYI(CHROME = "55",
1848             EDGE = "55",
1849             FF = "55",
1850             FF_ESR = "55")
1851     public void inputReset() throws Exception {
1852         loadPageVerifyTitle2(testInput("reset"));
1853     }
1854 
1855     /**
1856      * Test {@link org.htmlunit.html.HtmlInput}.
1857      *
1858      * @throws Exception if the test fails
1859      */
1860     @Test
1861     @Alerts(CHROME = "173",
1862             EDGE = "173",
1863             FF = "157",
1864             FF_ESR = "161")
1865     public void inputSelect() throws Exception {
1866         loadPageVerifyTitle2(testInput("select"));
1867     }
1868 
1869     /**
1870      * Test {@link org.htmlunit.html.HtmlInput}.
1871      *
1872      * @throws Exception if the test fails
1873      */
1874     @Test
1875     @Alerts(DEFAULT = "54",
1876             FF = "88",
1877             FF_ESR = "88")
1878     @HtmlUnitNYI(CHROME = "118",
1879             EDGE = "118",
1880             FF = "118",
1881             FF_ESR = "118")
1882     public void inputSubmit() throws Exception {
1883         loadPageVerifyTitle2(testInput("submit"));
1884     }
1885 
1886     /**
1887      * Test {@link org.htmlunit.html.HtmlInput}.
1888      *
1889      * @throws Exception if the test fails
1890      */
1891     @Test
1892     @Alerts(DEFAULT = "173",
1893             FF = "157",
1894             FF_ESR = "161")
1895     public void inputText() throws Exception {
1896         loadPageVerifyTitle2(testInput("text"));
1897     }
1898 
1899     /**
1900      * Test {@link org.htmlunit.html.HtmlData}.
1901      *
1902      * @throws Exception if the test fails
1903      */
1904     @Test
1905     @Alerts("0")
1906     public void data() throws Exception {
1907         loadPageVerifyTitle2(test("data"));
1908     }
1909 
1910     /**
1911      * Test HtmlContent.
1912      *
1913      * @throws Exception if the test fails
1914      */
1915     @Test
1916     @Alerts("0")
1917     public void content() throws Exception {
1918         loadPageVerifyTitle2(test("content"));
1919     }
1920 
1921     /**
1922      * Test {@link org.htmlunit.html.HtmlPicture}.
1923      *
1924      * @throws Exception if the test fails
1925      */
1926     @Test
1927     @Alerts("0")
1928     public void picture() throws Exception {
1929         loadPageVerifyTitle2(test("picture"));
1930     }
1931 
1932     /**
1933      * Test {@link org.htmlunit.html.HtmlTemplate}.
1934      *
1935      * @throws Exception if the test fails
1936      */
1937     @Test
1938     @Alerts("0")
1939     public void template() throws Exception {
1940         loadPageVerifyTitle2(test("template"));
1941     }
1942 
1943     /**
1944      * Test {@link org.htmlunit.html.HtmlSlot}.
1945      *
1946      * @throws Exception if the test fails
1947      */
1948     @Test
1949     @Alerts("0")
1950     public void slot() throws Exception {
1951         loadPageVerifyTitle2(test("slot"));
1952     }
1953 
1954 }