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.annotation.Alerts;
19 import org.junit.jupiter.api.Test;
20
21
22
23
24
25
26
27 public class IntersectionObserverTest extends WebDriverTestCase {
28
29
30
31
32 @Test
33 @Alerts("true")
34 public void inWindow() throws Exception {
35 final String html = DOCTYPE_HTML
36 + "<html>\n"
37 + "<head>\n"
38 + " <script>\n"
39 + LOG_TITLE_FUNCTION
40 + " function test() {\n"
41 + " log('IntersectionObserver' in window);\n"
42 + " }\n"
43 + " </script>\n"
44 + "</head>\n"
45 + "<body onload='test()'>\n"
46 + "</body>\n"
47 + "</html>";
48
49 loadPageVerifyTitle2(html);
50 }
51
52
53
54
55 @Test
56 @Alerts({"function", "function", "function", "function"})
57 public void functions() throws Exception {
58 final String html = DOCTYPE_HTML
59 + "<html><head><script>\n"
60 + LOG_TITLE_FUNCTION
61 + "function test() {\n"
62 + " if (window.IntersectionObserver) {\n"
63 + " var callback = function (entries, observer) {};\n"
64 + " var observer = new IntersectionObserver(callback);\n"
65 + " log(typeof observer.observe);\n"
66 + " log(typeof observer.unobserve);\n"
67 + " log(typeof observer.disconnect);\n"
68 + " log(typeof observer.takeRecords);\n"
69 + " } else { log('no IntersectionObserver'); }\n"
70 + "}\n"
71 + "</script>\n"
72 + "</head>\n"
73 + "<body onload='test()'></body>\n"
74 + "</html>";
75
76 loadPageVerifyTitle2(html);
77 }
78 }