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.WebDriver;
21 import org.openqa.selenium.htmlunit.HtmlUnitDriver;
22
23
24
25
26
27
28
29 public class HtmlProgressTest extends WebDriverTestCase {
30
31
32
33
34 @Test
35 @Alerts("[object HTMLProgressElement]")
36 public void simpleScriptable() throws Exception {
37 final String html = DOCTYPE_HTML
38 + "<html><head>\n"
39 + "<script>\n"
40 + LOG_TITLE_FUNCTION
41 + " function test() {\n"
42 + " log(document.getElementById('myId'));\n"
43 + " }\n"
44 + "</script>\n"
45 + "</head><body onload='test()'>\n"
46 + " <progress id='myId'></progress>\n"
47 + "</body></html>";
48
49 final WebDriver driver = loadPageVerifyTitle2(html);
50 if (driver instanceof HtmlUnitDriver) {
51 final HtmlPage page = (HtmlPage) getEnclosedPage();
52 if ("[object HTMLProgressElement]".equals(getExpectedAlerts()[0])) {
53 assertTrue(HtmlProgress.class.isInstance(page.getHtmlElementById("myId")));
54 }
55 else {
56 assertTrue(HtmlUnknownElement.class.isInstance(page.getHtmlElementById("myId")));
57 }
58 }
59 }
60
61
62
63
64 @Test
65 @Alerts({"number70", "number100"})
66 public void properties() throws Exception {
67 final String html = DOCTYPE_HTML
68 + "<html><body>\n"
69 + "<progress id='it' value='70' max='100'>70%</progress>\n"
70 + "<script>\n"
71 + LOG_TITLE_FUNCTION
72 + "var elt = document.getElementById('it');\n"
73 + "if (window.HTMLProgressElement) {\n"
74 + " log(typeof(elt.value) + elt.value);\n"
75 + " log(typeof(elt.max) + elt.max);\n"
76 + "}\n"
77 + "</script></body></html>";
78 loadPageVerifyTitle2(html);
79 }
80 }