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