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