<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./resources/intersection-observer-test-utils.js"></script>

<style>
pre, #log {
  position: absolute;
  top: 0;
  left: 200px;
}
.spacer {
  height: calc(100vh + 100px);
}
#target {
  width: 100px;
  height: 100px;
  background-color: green;
}
</style>

<div class="spacer"></div>
<div id="target"></div>
<div class="spacer"></div>

<script>
var entries = [];
var observer;
var target;

runTestCycle(function() {
  target = document.getElementById("target");
  assert_true(!!target, "target exists");
  observer = new IntersectionObserver(function(changes) {
    entries = entries.concat(changes)
  });
  observer.observe(target);
  entries = entries.concat(observer.takeRecords());
  assert_equals(entries.length, 0, "No initial notifications.");
  runTestCycle(step0, "First rAF.");
}, "IntersectionObserver should not deliver pending notifications after disconnect().");

function step0() {
  runTestCycle(step1, "observer.disconnect()");
  document.scrollingElement.scrollTop = 300;
  observer.disconnect();
  assert_equals(entries.length, 1, "Initial notification.");
}

function step1() {
  assert_equals(entries.length, 1, "No new notifications.");
}
</script>
