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.html.HtmlPage;
19 import org.htmlunit.html.HtmlTextArea;
20 import org.junit.jupiter.api.Test;
21
22
23
24
25
26
27
28
29
30 public class HTMLTextAreaElement2Test extends SimpleWebTestCase {
31
32
33
34
35
36 @Test
37 public void type_onchange() throws Exception {
38 final String content = DOCTYPE_HTML
39 + "<html><head><title>foo</title>\n"
40 + "<script>\n"
41 + " function changed(e) {\n"
42 + " log('changed: ' + e.value);\n"
43 + " }\n"
44 + " function keypressed(e) {\n"
45 + " log('keypressed: ' + e.value);\n"
46 + " }\n"
47 + " function log(msg) {\n"
48 + " document.getElementById('log').value += msg + '; ';\n"
49 + " }\n"
50 + "</script></head>\n"
51 + "<body>\n"
52 + "<form id='form1'>\n"
53 + "<textarea id='textArea1' onchange='changed(this)' onkeypress='keypressed(this)'></textarea>\n"
54 + "<textarea id='log'></textarea>\n"
55 + "</form>\n"
56 + "</body></html>";
57 final HtmlPage page = loadPage(content);
58 final HtmlTextArea textArea = page.getHtmlElementById("textArea1");
59 textArea.type("hello");
60 page.setFocusedElement(null);
61
62 final HtmlTextArea log = page.getHtmlElementById("log");
63 final String expectation = "keypressed: ; "
64 + "keypressed: h; "
65 + "keypressed: he; "
66 + "keypressed: hel; "
67 + "keypressed: hell; "
68 + "changed: hello;";
69 assertEquals(expectation, log.asNormalizedText());
70 }
71
72 }