summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/intersection-observer/v2/position-absolute-overflow-visible-and-not-visible.html
blob: c74d4c20210264854dde087be5b3ae2edf7f0491 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/intersection-observer-test-utils.js"></script>
<style>
  html, body {
    margin: 0;
    padding: 0;
    height: 200px;
    width: 100%;
  }
  #parent {
    position: relative;
    height: 200px;
    width: 200px;
    background-color: rgb(250, 221, 221);
    overflow-y: clip;
    overflow-x: visible;
  }
  #child {
    background-color: rgb(208, 250, 208);
    position: absolute;
    left: 100%;
    width: 200px;
    height: 200px;
  }
</style>
</head>
<body>
<div id="parent">
  <div id="child"></div>
</div>
</body>
<script>
const test = async_test("ParentWithOverflowVisibleAndNotVisible");
const child = document.getElementById("child");
const observer = new IntersectionObserver((entries) => {
  test.step(() => {
    assert_true(entries[0].isIntersecting);
    assert_equals(entries[0].intersectionRatio, 1.0);
    assert_equals(entries[0].intersectionRect.height, 200);
    assert_equals(entries[0].intersectionRect.width, 200);
  });
  test.done();
});
observer.observe(child);
</script>
</html>