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