<style>
postive-z-above,
postive-z-below,
zero-z-above,
zero-z-below,
no-z-above,
no-z-below,
postive-z-after {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: blue;
}

no-z-below {
  top: 50px;
  background-color: green;
}
zero-z-above {
  z-index: 0;
  top: 100px;
  background-color: red;
}
zero-z-below {
  z-index: 0;
  top: 150px;
  background-color: salmon;
}
postive-z-above {
  z-index: 1;
  top: 200px;
  background-color: yellow;
}
postive-z-below {
  z-index: 1;
  top: 250px;
  background-color: pink;
}
postive-z-after {
  z-index: 1;
  top: 300px;
  background-color: orange;
}
</style>
<postive-z-above layer yellow></postive-z-above>
<postive-z-below layer pink></postive-z-below>
<no-z-above no-layer blue></no-z-above>
<no-z-below no-layer green></no-z-below>
<zero-z-above layer red></zero-z-above>
<zero-z-below layer salmon></zero-z-below>
<postive-z-after layer orange></postive-z-after>
<script>
import "../resources/third_party/unittest/unittest.dart";
import "../resources/unit.dart";

import "dart:sky";

void main() {
  initUnit();

  test("should hit test top item", () {
    expect(document.elementFromPoint(100, 25).tagName, equals('no-z-above'));
  });

  test("should hit test second", () {
    expect(document.elementFromPoint(100, 75).tagName, equals('no-z-below'));
  });

  test("should hit test third", () {
    expect(document.elementFromPoint(100, 125).tagName, equals('zero-z-above'));
  });

  test("should hit test fourth", () {
    expect(document.elementFromPoint(100, 175).tagName, equals('zero-z-below'));
  });

  test("should hit test fifth", () {
    expect(document.elementFromPoint(100, 225).tagName, equals('postive-z-above'));
  });

  test("should hit test sixth", () {
    expect(document.elementFromPoint(100, 275).tagName, equals('postive-z-below'));
  });

  test("should hit test seventh", () {
    expect(document.elementFromPoint(100, 325).tagName, equals('postive-z-after'));
  });
}
</script>
