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 HtmlMenuTest extends WebDriverTestCase {
32
33
34
35
36
37 @Test
38 @Alerts("First Item\nSecond Item")
39 public void getVisibleText() throws Exception {
40 final String html = DOCTYPE_HTML
41 + "<html><head></head>\n"
42 + "<body>\n"
43 + " <menu id='tester'>\n"
44 + " <li>First Item</li>\n"
45 + " <li>Second Item</li>\n"
46 + " </menu>\n"
47 + "</body></html>";
48
49 final WebDriver driver = loadPage2(html);
50 final String text = driver.findElement(By.id("tester")).getText();
51 assertEquals(getExpectedAlerts()[0], text);
52
53 if (driver instanceof HtmlUnitDriver) {
54 final HtmlPage page = (HtmlPage) getEnclosedPage();
55 assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText());
56 }
57 }
58
59
60
61
62 @Test
63 @Alerts("[object HTMLMenuElement]")
64 public void simpleScriptable() throws Exception {
65 final String html = DOCTYPE_HTML
66 + "<html><head>\n"
67 + "<script>\n"
68 + LOG_TITLE_FUNCTION
69 + " function test() {\n"
70 + " log(document.getElementById('myId'));\n"
71 + " }\n"
72 + "</script>\n"
73 + "</head><body onload='test()'>\n"
74 + " <menu id='myId'>\n"
75 + " <li>First Item</li>\n"
76 + " <li>Second Item</li>\n"
77 + " </menu>\n"
78 + "</body></html>";
79
80 final WebDriver driver = loadPageVerifyTitle2(html);
81 if (driver instanceof HtmlUnitDriver) {
82 final HtmlPage page = (HtmlPage) getEnclosedPage();
83 assertTrue(HtmlMenu.class.isInstance(page.getHtmlElementById("myId")));
84 }
85 }
86 }