1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host.canvas;
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
23
24
25
26
27
28
29 @RunWith(BrowserRunner.class)
30 public class IntersectionObserverTest extends WebDriverTestCase {
31
32
33
34
35 @Test
36 @Alerts("true")
37 public void inWindow() throws Exception {
38 final String html = DOCTYPE_HTML
39 + "<html>\n"
40 + "<head>\n"
41 + " <script>\n"
42 + LOG_TITLE_FUNCTION
43 + " function test() {\n"
44 + " log('IntersectionObserver' in window);\n"
45 + " }\n"
46 + " </script>\n"
47 + "</head>\n"
48 + "<body onload='test()'>\n"
49 + "</body>\n"
50 + "</html>";
51
52 loadPageVerifyTitle2(html);
53 }
54
55
56
57
58 @Test
59 @Alerts({"function", "function", "function", "function"})
60 public void functions() throws Exception {
61 final String html = DOCTYPE_HTML
62 + "<html><head><script>\n"
63 + LOG_TITLE_FUNCTION
64 + "function test() {\n"
65 + " if (window.IntersectionObserver) {\n"
66 + " var callback = function (entries, observer) {};\n"
67 + " var observer = new IntersectionObserver(callback);\n"
68 + " log(typeof observer.observe);\n"
69 + " log(typeof observer.unobserve);\n"
70 + " log(typeof observer.disconnect);\n"
71 + " log(typeof observer.takeRecords);\n"
72 + " } else { log('no IntersectionObserver'); }\n"
73 + "}\n"
74 + "</script>\n"
75 + "</head>\n"
76 + "<body onload='test()'></body>\n"
77 + "</html>";
78
79 loadPageVerifyTitle2(html);
80 }
81 }