<!DOCTYPE html>
<title>IntersectionObserver when root == target doesn't compute an intersection</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1682915">
<link rel="help" href="https://w3c.github.io/IntersectionObserver/#update-intersection-observations-algo">
<!--
  Quoting IntersectionObserver section 3.2.8, "Run the Update Intersection Observations Steps", step 2, substep 3:

    If the intersection root is an Element, and target is not a descendant of
    the intersection root in the containing block chain, skip to step 11.

-->
<style>
  #container {
    overflow: scroll;
    width: 100px;
    height: 100px;
  }
</style>
<div id=container>
  <div></div>
</div>
<script>
async_test(function(t) {
  let container = document.getElementById("container");
  let observer = new IntersectionObserver(t.step_func_done(function(entries) {
    assert_equals(entries.length, 1);
    assert_equals(entries[0].intersectionRatio, 0);
    assert_equals(entries[0].isIntersecting, false);
  }), { root: container });
  observer.observe(container);
});
</script>
