1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.html;
16
17 import java.util.concurrent.atomic.AtomicInteger;
18
19 import org.htmlunit.SimpleWebTestCase;
20 import org.htmlunit.util.MimeType;
21 import org.htmlunit.xml.XmlPage;
22 import org.junit.jupiter.api.Test;
23
24
25
26
27
28
29 public final class DomElement2Test extends SimpleWebTestCase {
30
31
32
33
34 @Test
35 public void isMouseOver() throws Exception {
36 final String html = DOCTYPE_HTML
37 + "<html>\n"
38 + "<head></head>\n"
39 + "<body>\n"
40 + " <div id='d1'>\n"
41 + " <div id='d2'>\n"
42 + " <div id='d3'>\n"
43 + " </div>\n"
44 + " </div>\n"
45 + " <div id='d4'>\n"
46 + " </div>\n"
47 + " </div>\n"
48 + "</body></html>";
49
50 HtmlPage page = loadPage(html);
51 assertFalse(page.getElementById("d1").isMouseOver());
52 assertFalse(page.getElementById("d2").isMouseOver());
53 assertFalse(page.getElementById("d3").isMouseOver());
54 assertFalse(page.getElementById("d4").isMouseOver());
55
56 page = loadPage(html);
57 page.getElementById("d1").mouseOver();
58 assertTrue(page.getElementById("d1").isMouseOver());
59 assertFalse(page.getElementById("d2").isMouseOver());
60 assertFalse(page.getElementById("d3").isMouseOver());
61 assertFalse(page.getElementById("d4").isMouseOver());
62
63 page = loadPage(html);
64 page.getElementById("d2").mouseOver();
65 assertTrue(page.getElementById("d1").isMouseOver());
66 assertTrue(page.getElementById("d2").isMouseOver());
67 assertFalse(page.getElementById("d3").isMouseOver());
68 assertFalse(page.getElementById("d4").isMouseOver());
69
70 page = loadPage(html);
71 page.getElementById("d3").mouseOver();
72 assertTrue(page.getElementById("d1").isMouseOver());
73 assertTrue(page.getElementById("d2").isMouseOver());
74 assertTrue(page.getElementById("d3").isMouseOver());
75 assertFalse(page.getElementById("d4").isMouseOver());
76
77 page = loadPage(html);
78 page.getElementById("d4").mouseOver();
79 assertTrue(page.getElementById("d1").isMouseOver());
80 assertFalse(page.getElementById("d2").isMouseOver());
81 assertFalse(page.getElementById("d3").isMouseOver());
82 assertTrue(page.getElementById("d4").isMouseOver());
83 }
84
85
86
87
88
89
90 @Test
91 public void getChildElements() throws Exception {
92 final String xml = "<events>\n"
93 + " <something/>\n"
94 + "</events>";
95 getMockWebConnection().setDefaultResponse(xml, MimeType.TEXT_XML);
96 getWebClient().setWebConnection(getMockWebConnection());
97 final XmlPage page = getWebClient().getPage(URL_FIRST);
98 final DomElement root = page.getDocumentElement();
99 final AtomicInteger count = new AtomicInteger(0);
100 root.getChildElements().forEach(e -> count.incrementAndGet());
101 assertEquals(1, count.get());
102
103 count.set(0);
104 root.getChildren().forEach(e -> count.incrementAndGet());
105 assertEquals(3, count.get());
106 }
107 }