1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.html;
16
17 import java.io.File;
18
19 import org.htmlunit.WebDriverTestCase;
20 import org.htmlunit.junit.annotation.Alerts;
21 import org.junit.jupiter.api.Test;
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 public class HtmlEmbedTest extends WebDriverTestCase {
33
34
35
36
37 @Test
38 @Alerts({"[object HTMLEmbedElement]", "[object HTMLCollection]", "1", "[object HTMLEmbedElement]"})
39 public void simpleScriptable() throws Exception {
40 final String html = DOCTYPE_HTML
41 + "<html><head>\n"
42 + "<script>\n"
43 + LOG_TITLE_FUNCTION
44 + " function test() {\n"
45 + " log(document.getElementById('myId'));\n"
46 + " log(document.embeds);\n"
47 + " log(document.embeds.length);\n"
48 + " log(document.embeds[0]);\n"
49 + " }\n"
50 + "</script>\n"
51 + "</head><body onload='test()'>\n"
52 + " <embed id='myId'/>\n"
53 + "</body></html>";
54
55 final WebDriver driver = loadPageVerifyTitle2(html);
56 if (driver instanceof HtmlUnitDriver) {
57 final HtmlElement element = toHtmlElement(driver.findElement(By.id("myId")));
58 assertTrue(HtmlEmbed.class.isInstance(element));
59 }
60 }
61
62
63
64
65 @Test
66 @Alerts("[object HTMLEmbedElement]")
67 public void saveAs() 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 + " <embed id='myId' src='helloworld.bin'/>\n"
78 + "</body></html>";
79
80 getMockWebConnection().setDefaultResponse("something");
81 final WebDriver driver = loadPageVerifyTitle2(html);
82 if (driver instanceof HtmlUnitDriver) {
83 final HtmlEmbed element = (HtmlEmbed) toHtmlElement(driver.findElement(By.id("myId")));
84 final File file = new File(System.getProperty("user.home"), "htmlunit-embed.bin");
85 element.saveAs(file);
86 final long length = file.length();
87 assertTrue(file.delete());
88 assertTrue(length > 0);
89 }
90 }
91 }