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