1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host.html;
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 FormChildTest extends WebDriverTestCase {
27
28
29
30
31 @Test
32 @Alerts({"f1", "f2"})
33 public void formSimple() 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 + " var elem = document.getElementById('i1');\n"
41 + " log(elem.form ? elem.form.id : elem.form);\n"
42 + " elem = document.getElementById('i2');\n"
43 + " log(elem.form ? elem.form.id : elem.form);\n"
44 + "}\n"
45 + "</script>\n"
46 + "</head>\n"
47 + "<body onload='test()'>\n"
48 + " <form id='f1'>\n"
49 + " <input id='i1' name='myInput' type='text'>\n"
50 + " </form>\n"
51 + " <form id='f2'>\n"
52 + " <input id='i2' name='myInput' type='text'>\n"
53 + " </form>\n"
54 + "</body></html>";
55
56 loadPageVerifyTitle2(html);
57 }
58
59
60
61
62 @Test
63 @Alerts({"null", "null"})
64 public void formBeforeAfter() throws Exception {
65 final String html = DOCTYPE_HTML
66 + "<html>\n"
67 + "<head>\n"
68 + "<script>\n"
69 + LOG_TITLE_FUNCTION
70 + "function test() {\n"
71 + " var elem = document.getElementById('i1');\n"
72 + " log(elem.form ? elem.form.id : elem.form);\n"
73 + " elem = document.getElementById('i2');\n"
74 + " log(elem.form ? elem.form.id : elem.form);\n"
75 + "}\n"
76 + "</script>\n"
77 + "</head>\n"
78 + "<body onload='test()'>\n"
79 + " <input id='i1' name='myInput' type='text'>\n"
80 + " <form id='f1'>\n"
81 + " </form>\n"
82 + " <input id='i2' name='myInput' type='text'>\n"
83 + " <form id='f2'>\n"
84 + " </form>\n"
85 + "</body></html>";
86
87 loadPageVerifyTitle2(html);
88 }
89 }