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