| <!DOCTYPE html> | |
| <meta name="viewport" content="width=device-width,initial-scale=1"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| test(function () { | |
| assert_throws_js(RangeError, function() { | |
| new IntersectionObserver(e => {}, {threshold: [1.1]}) | |
| }) | |
| }, "IntersectionObserver constructor with { threshold: [1.1] }"); | |
| test(function () { | |
| assert_throws_js(TypeError, function() { | |
| new IntersectionObserver(e => {}, {threshold: ["foo"]}) | |
| }) | |
| }, 'IntersectionObserver constructor with { threshold: ["foo"] }'); | |
| test(function () { | |
| assert_throws_dom("SYNTAX_ERR", function() { | |
| new IntersectionObserver(e => {}, {rootMargin: "1"}) | |
| }) | |
| }, 'IntersectionObserver constructor with { rootMargin: "1" }'); | |
| test(function () { | |
| assert_throws_dom("SYNTAX_ERR", function() { | |
| new IntersectionObserver(e => {}, {rootMargin: "2em"}) | |
| }) | |
| }, 'IntersectionObserver constructor with { rootMargin: "2em" }'); | |
| test(function () { | |
| assert_throws_dom("SYNTAX_ERR", function() { | |
| new IntersectionObserver(e => {}, {rootMargin: "auto"}) | |
| }) | |
| }, 'IntersectionObserver constructor with { rootMargin: "auto" }'); | |
| test(function () { | |
| assert_throws_dom("SYNTAX_ERR", function() { | |
| new IntersectionObserver(e => {}, {rootMargin: "calc(1px + 2px)"}) | |
| }) | |
| }, 'IntersectionObserver constructor with { rootMargin: "calc(1px + 2px)" }'); | |
| test(function () { | |
| assert_throws_dom("SYNTAX_ERR", function() { | |
| new IntersectionObserver(e => {}, {rootMargin: "1px !important"}) | |
| }) | |
| }, 'IntersectionObserver constructor with { rootMargin: "1px !important" }'); | |
| test(function () { | |
| assert_throws_dom("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_js(TypeError, function() { | |
| let observer = new IntersectionObserver(c => {}, {}); | |
| observer.observe("foo"); | |
| }) | |
| }, 'IntersectionObserver.observe("foo")'); | |
| </script> |