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.SimpleWebTestCase;
18 import org.htmlunit.WebClient;
19 import org.htmlunit.html.DomElement;
20 import org.htmlunit.html.HtmlDialog;
21 import org.htmlunit.html.HtmlPage;
22 import org.junit.jupiter.api.Test;
23
24
25
26
27
28
29 public class HTMLDialogElement2Test extends SimpleWebTestCase {
30
31
32
33
34 @Test
35 public void formClosesDialogWithoutJs() throws Exception {
36 final String html = DOCTYPE_HTML
37 + "<html>\n"
38 + " <body>\n"
39 + " <dialog id='tester' onclose='document.title=\"closed\"'>\n"
40 + " <p>HtmlUNit dialog</p>\n"
41 + " <form method='dialog'>\n"
42 + " <input type='submit' id='close' value='OK' />\n"
43 + " </form>\n"
44 + " </dialog>\n"
45 + " </body>\n"
46 + "</html>";
47
48 final WebClient client = getWebClientWithMockWebConnection();
49 client.getOptions().setJavaScriptEnabled(false);
50
51 final HtmlPage page = loadPage(html);
52 final DomElement elem = page.getElementById("tester");
53 if (elem instanceof HtmlDialog) {
54 final HtmlDialog dialog = (HtmlDialog) elem;
55
56 assertFalse(dialog.isOpen());
57 dialog.show();
58 assertTrue(dialog.isOpen());
59
60 page.getElementById("close").click();
61 assertFalse(dialog.isOpen());
62
63 assertEquals("", page.getTitleText());
64 }
65 }
66 }