1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.html;
16
17 import org.htmlunit.SimpleWebTestCase;
18 import org.junit.jupiter.api.Test;
19
20
21
22
23
24
25
26
27 public class HtmlDivisionTest extends SimpleWebTestCase {
28
29
30
31
32 @Test
33 public void asNormalizedText() throws Exception {
34 String expected = "hello\nworld";
35 testAsNormalizedText(expected, "<div>hello</div>world");
36 testAsNormalizedText(expected, "<div>hello<br/></div>world");
37
38 expected = "hello\n\nworld";
39 testAsNormalizedText(expected, "<div>hello<br/><br/></div>world");
40 }
41
42
43
44
45 @Test
46 public void asTextContiguousBlocks() throws Exception {
47 final String expected = "hello\nworld";
48 testAsNormalizedText(expected, "<div><table><tr><td>hello</td></tr><tr><td>world<br/></td></tr></table></div>");
49 testAsNormalizedText(expected, "<div>hello</div><div>world</div>");
50 testAsNormalizedText(expected, "<div>hello</div><div><div>world</div></div>");
51 testAsNormalizedText(expected, "<div><table><tr><td>hello</td></tr><tr><td>world<br/></td></tr></table></div>");
52 }
53
54 private void testAsNormalizedText(final String expected, final String htmlSnippet) throws Exception {
55 final String html = DOCTYPE_HTML
56 + "<html><head></head><body>\n"
57 + htmlSnippet
58 + "</body></html>";
59
60 final HtmlPage page = loadPage(html);
61 assertEquals(expected, page.asNormalizedText());
62 }
63
64
65
66
67 @Test
68 public void asTextDiv() throws Exception {
69 final String html = DOCTYPE_HTML
70 + "<html><head></head><body>\n"
71 + "<div id='foo'>\n \n hello </div>\n"
72 + "</body></html>";
73
74 final HtmlPage page = loadPage(html);
75 assertEquals("hello", page.asNormalizedText());
76 final HtmlDivision div = page.getHtmlElementById("foo");
77 assertEquals("hello", div.asNormalizedText());
78 }
79
80
81
82
83 @Test
84 public void css() throws Exception {
85 final String html = DOCTYPE_HTML
86 + "<html><head></head><body>\n"
87 + "<div style='display:inline'>1</div><div style='display:inline'>2</div>\n"
88 + "</body></html>";
89
90 final HtmlPage page = loadPage(html);
91 assertEquals("12", page.getBody().asNormalizedText());
92 }
93 }