https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 3c16faaf66049b0a5d63a39964370037388c3a96 authored by Jonathon Kereliuk on 27 March 2018, 14:59:21 UTC
fix capabilities and IWYU
Tip revision: 3c16faa
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