| Index: third_party/WebKit/LayoutTests/intersection-observer/observer-exceptions.html
|
| diff --git a/third_party/WebKit/LayoutTests/intersection-observer/observer-exceptions.html b/third_party/WebKit/LayoutTests/intersection-observer/observer-exceptions.html
|
| index a266655239ff77d0c76910f2633f965edd49d8c6..dcac78090897707aec28c9e8ec2b31e37a95c6f9 100644
|
| --- a/third_party/WebKit/LayoutTests/intersection-observer/observer-exceptions.html
|
| +++ b/third_party/WebKit/LayoutTests/intersection-observer/observer-exceptions.html
|
| @@ -1,119 +1,49 @@
|
| <!DOCTYPE html>
|
| -<div id="root"></div>
|
| -<div id="target"></div>
|
| -<script src="../resources/js-test.js"></script>
|
| -<script src="../resources/gc.js"></script>
|
| -<script>
|
| - description("Test for observer exceptions.");
|
| - var exc;
|
| -
|
| - try {
|
| - new IntersectionObserver(e => {}, {threshold: [1.1]});
|
| - testFailed("IntersectionObserver constructor did not throw due to invalid threshold.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "RangeError");
|
| - }
|
| -
|
| - try {
|
| - new IntersectionObserver(e => {}, {threshold: ["foo"]});
|
| - testFailed("IntersectionObserver constructor did not throw due to invalid threshold.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "RangeError");
|
| - }
|
| -
|
| - try {
|
| - new IntersectionObserver(e => {}, {rootMargin: "1"});
|
| - testFailed("IntersectionObserver constructor did not throw due to invalid rootMargin.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.SYNTAX_ERR");
|
| - }
|
| -
|
| - try {
|
| - new IntersectionObserver(e => {}, {rootMargin: "2em"});
|
| - testFailed("IntersectionObserver constructor did not throw due to invalid rootMargin.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.SYNTAX_ERR");
|
| - }
|
| -
|
| - try {
|
| - new IntersectionObserver(e => {}, {rootMargin: "auto"});
|
| - testFailed("IntersectionObserver constructor did not throw due to invalid rootMargin.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.SYNTAX_ERR");
|
| - }
|
| -
|
| - try {
|
| - new IntersectionObserver(e => {}, {rootMargin: "1px 1px 1px 1px 1px"});
|
| - testFailed("IntersectionObserver constructor did not throw due to too many rootMargin value.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.SYNTAX_ERR");
|
| - }
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
|
|
| - let observer = new IntersectionObserver(c => {}, {});
|
| - try {
|
| +<script>
|
| +test(function () {
|
| + assert_throws(RangeError(), function() {
|
| + new IntersectionObserver(e => {}, {threshold: [1.1]})
|
| + })
|
| +}, "IntersectionObserver constructor throws RangeError due to invalid threshold.");
|
| +
|
| +test(function () {
|
| + assert_throws(RangeError(), function() {
|
| + new IntersectionObserver(e => {}, {threshold: ["foo"]})
|
| + })
|
| +}, "IntersectionObserver constructor throws RangeError due to invalid threshold.");
|
| +
|
| +test(function () {
|
| + assert_throws("SYNTAX_ERR", function() {
|
| + new IntersectionObserver(e => {}, {rootMargin: "1"})
|
| + })
|
| +}, "IntersectionObserver constructor throws SYNTAX_ERR due to invalid rootMargin.");
|
| +
|
| +test(function () {
|
| + assert_throws("SYNTAX_ERR", function() {
|
| + new IntersectionObserver(e => {}, {rootMargin: "2em"})
|
| + })
|
| +}, "IntersectionObserver constructor throws SYNTAX_ERR due to invalid rootMargin.");
|
| +
|
| +test(function () {
|
| + assert_throws("SYNTAX_ERR", function() {
|
| + new IntersectionObserver(e => {}, {rootMargin: "auto"})
|
| + })
|
| +}, "IntersectionObserver constructor throws SYNTAX_ERR due to invalid rootMargin.");
|
| +
|
| +test(function () {
|
| + assert_throws("SYNTAX_ERR", function() {
|
| + new IntersectionObserver(e => {}, {rootMargin: "1px 1px 1px 1px 1px"})
|
| + })
|
| +}, "IntersectionObserver constructor throws SYNTAX_ERR due to invalid rootMargin.");
|
| +
|
| +test(function () {
|
| + assert_throws(TypeError(), function() {
|
| + let observer = new IntersectionObserver(c => {}, {});
|
| observer.observe("foo");
|
| - testFailed("IntersectionObserver.observe with a bad target argument did not throw.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "TypeError");
|
| - }
|
| -
|
| - // Initialize observer and remove root in an inner function to avoid
|
| - // references to rootDiv remaining live on this function's stack frame
|
| - // (http://crbug.com/595672/).
|
| - function initializeObserverThenRemoveRootDiv() {
|
| - let rootDiv = document.getElementById("root");
|
| - let observer = new IntersectionObserver(c => {}, {root: rootDiv});
|
| - rootDiv.parentNode.removeChild(rootDiv);
|
| - return observer;
|
| - }
|
| -
|
| - observer = initializeObserverThenRemoveRootDiv();
|
| - gc();
|
| -
|
| - try {
|
| - observer.observe(target);
|
| - testFailed("IntersectionObserver.observe() with a deleted root did not throw.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.INVALID_STATE_ERR");
|
| - }
|
| -
|
| - try {
|
| - observer.unobserve(target);
|
| - testFailed("IntersectionObserver.unobserve() with a deleted root did not throw.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.INVALID_STATE_ERR");
|
| - }
|
| -
|
| - try {
|
| - observer.disconnect();
|
| - testFailed("IntersectionObserver.disconnect() with a deleted root did not throw.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.INVALID_STATE_ERR");
|
| - }
|
| + })
|
| +}, "IntersectionObserver.observe with an invalid target throws TypeError.");
|
|
|
| - try {
|
| - observer.takeRecords();
|
| - testFailed("IntersectionObserver.takeRecords() with a deleted root did not throw.");
|
| - } catch(e) {
|
| - exc = e;
|
| - shouldBeType("exc", "DOMException");
|
| - shouldBe("exc.code", "DOMException.INVALID_STATE_ERR");
|
| - }
|
| </script>
|
|
|