Intersection observer test with root margin and implicit root. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS new IntersectionObserver(observer_callback, { rootMargin: '1' }) threw exception Error: rootMargin must be specified in pixels or percent.. PASS new IntersectionObserver(observer_callback, { rootMargin: '1em' }) threw exception Error: rootMargin must be specified in pixels or percent.. PASS new IntersectionObserver(observer_callback, { rootMargin: 'auto' }) threw exception Error: rootMargin must be specified in pixels or percent.. PASS new IntersectionObserver(observer_callback, { rootMargin: '1.4px' }) did not throw exception. PASS new IntersectionObserver(observer_callback, { rootMargin: '1.4px 2px' }) did not throw exception. PASS new IntersectionObserver(observer_callback, { rootMargin: '1.4px 2px 3%' }) did not throw exception. PASS new IntersectionObserver(observer_callback, { rootMargin: '1.4px 2px 3% 40px junk junk junk' }) did not throw exception. PASS entries.length is 0 PASS entries.length is 1 PASS entries[0].boundingClientRect.left is 912 PASS entries[0].boundingClientRect.right is 1012 PASS entries[0].boundingClientRect.top is 708 PASS entries[0].boundingClientRect.bottom is 808 PASS entries[0].intersectionRect.left is 912 PASS entries[0].intersectionRect.right is 942 PASS entries[0].intersectionRect.top is 708 PASS entries[0].intersectionRect.bottom is 808 PASS entries[0].rootBounds.left is -30 PASS entries[0].rootBounds.right is 942 PASS entries[0].rootBounds.top is -10 PASS entries[0].rootBounds.bottom is 819 PASS entries[0].target is [object HTMLDivElement] PASS entries.length is 1 PASS entries.length is 2 PASS entries[1].boundingClientRect.left is 912 PASS entries[1].boundingClientRect.right is 1012 PASS entries[1].boundingClientRect.top is -192 PASS entries[1].boundingClientRect.bottom is -92 PASS entries[1].intersectionRect.left is 0 PASS entries[1].intersectionRect.right is 0 PASS entries[1].intersectionRect.top is 0 PASS entries[1].intersectionRect.bottom is 0 PASS entries[1].rootBounds.left is -30 PASS entries[1].rootBounds.right is 942 PASS entries[1].rootBounds.top is -10 PASS entries[1].rootBounds.bottom is 819 PASS entries[1].target is [object HTMLDivElement] PASS successfullyParsed is true TEST COMPLETE