1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.html;
16
17 import org.htmlunit.WebDriverTestCase;
18 import org.htmlunit.junit.annotation.Alerts;
19 import org.junit.jupiter.api.Test;
20 import org.openqa.selenium.By;
21 import org.openqa.selenium.WebDriver;
22 import org.openqa.selenium.htmlunit.HtmlUnitDriver;
23
24
25
26
27
28
29
30
31 public class HtmlPreformattedTextTest extends WebDriverTestCase {
32
33
34
35
36 @Test
37 @Alerts("[object HTMLPreElement]")
38 public void simpleScriptable() throws Exception {
39 final String html = DOCTYPE_HTML
40 + "<html><head>\n"
41 + "<script>\n"
42 + LOG_TITLE_FUNCTION
43 + " function test() {\n"
44 + " log(document.getElementById('myId'));\n"
45 + " }\n"
46 + "</script>\n"
47 + "</head><body onload='test()'>\n"
48 + " <pre id='myId'>Some Text</pre>\n"
49 + "</body></html>";
50
51 final WebDriver driver = loadPageVerifyTitle2(html);
52 if (driver instanceof HtmlUnitDriver) {
53 final HtmlPage page = (HtmlPage) getEnclosedPage();
54 assertTrue(HtmlPreformattedText.class.isInstance(page.getHtmlElementById("myId")));
55 }
56 }
57
58
59
60
61 @Test
62 @Alerts(" hello abc")
63 public void getText() throws Exception {
64 final String html = DOCTYPE_HTML
65 + "<html><head></head><body>\n"
66 + "<pre id='foo'> hello \t abc</pre>"
67 + "</body></html>";
68
69 final WebDriver driver = loadPage2(html);
70 assertEquals(getExpectedAlerts()[0], driver.findElement(By.id("foo")).getText());
71 }
72
73
74
75
76 @Test
77 @Alerts("1\n2\n3\n4")
78 public void asTextDifferentLineBreaks() throws Exception {
79 final String html = DOCTYPE_HTML
80 + "<html><head></head><body>\n"
81 + "<pre id='foo'>1\n2\r\n3\r4</pre>"
82 + "</body></html>";
83
84 final WebDriver driver = loadPage2(html);
85 assertEquals(getExpectedAlerts()[0], driver.findElement(By.id("foo")).getText());
86 }
87
88
89
90
91 @Test
92 @Alerts("start\n hello abc \nend")
93 public void asTextInsideDiv() throws Exception {
94 final String html = DOCTYPE_HTML
95 + "<html><head></head><body>\n"
96 + "<div id='foo'>start<pre> hello \t abc </pre>end</div>"
97 + "</body></html>";
98
99 final WebDriver driver = loadPage2(html);
100 assertEquals(getExpectedAlerts()[0], driver.findElement(By.id("foo")).getText());
101 }
102 }