https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 7bed6bee0d70190e87bd48a71c81a1f6d79e8d97 authored by L. David Baron on 14 April 2018, 11:18:26 UTC
Sync Mozilla tests as of https://hg.mozilla.org/mozilla-central/rev/37b8862d354e0014a72715462dd2102dd5b599cc .
Tip revision: 7bed6be
observer-exceptions.html
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<script>
test(function () {
  assert_throws(RangeError(), function() {
    new IntersectionObserver(e => {}, {threshold: [1.1]})
  })
}, "IntersectionObserver constructor with { threshold: [1.1] }");

test(function () {
  assert_throws(TypeError(), function() {
    new IntersectionObserver(e => {}, {threshold: ["foo"]})
  })
}, 'IntersectionObserver constructor with { threshold: ["foo"] }');

test(function () {
  assert_throws("SYNTAX_ERR", function() {
    new IntersectionObserver(e => {}, {rootMargin: "1"})
  })
}, 'IntersectionObserver constructor witth { rootMargin: "1" }');

test(function () {
  assert_throws("SYNTAX_ERR", function() {
    new IntersectionObserver(e => {}, {rootMargin: "2em"})
  })
}, 'IntersectionObserver constructor with { rootMargin: "2em" }');

test(function () {
  assert_throws("SYNTAX_ERR", function() {
    new IntersectionObserver(e => {}, {rootMargin: "auto"})
  })
}, 'IntersectionObserver constructor with { rootMargin: "auto" }');

test(function () {
  assert_throws("SYNTAX_ERR", function() {
    new IntersectionObserver(e => {}, {rootMargin: "calc(1px + 2px)"})
  })
}, 'IntersectionObserver constructor with { rootMargin: "calc(1px + 2px)" }');

test(function () {
  assert_throws("SYNTAX_ERR", function() {
    new IntersectionObserver(e => {}, {rootMargin: "1px !important"})
  })
}, 'IntersectionObserver constructor with { rootMargin: "1px !important" }');

test(function () {
  assert_throws("SYNTAX_ERR", function() {
    new IntersectionObserver(e => {}, {rootMargin: "1px 1px 1px 1px 1px"})
  })
}, 'IntersectionObserver constructor with { rootMargin: "1px 1px 1px 1px 1px" }');

test(function () {
  assert_throws(TypeError(), function() {
    let observer = new IntersectionObserver(c => {}, {});
    observer.observe("foo");
  })
}, 'IntersectionObserver.observe("foo")');
</script>
back to top