All Results

Test files: 24; Total subtests: 109

Test Files

  1. /intersection-observer/bounding-box.html
  2. /intersection-observer/client-rect.html
  3. /intersection-observer/containing-block.html
  4. /intersection-observer/cross-origin-iframe.html
  5. /intersection-observer/disconnect.html
  6. /intersection-observer/display-none.html
  7. /intersection-observer/edge-inclusive-intersection.html
  8. /intersection-observer/iframe-no-root.html
  9. /intersection-observer/isIntersecting-change-events.html
  10. /intersection-observer/multiple-targets.html
  11. /intersection-observer/multiple-thresholds.html
  12. /intersection-observer/observer-attributes.html
  13. /intersection-observer/observer-exceptions.html
  14. /intersection-observer/observer-without-js-reference.html
  15. /intersection-observer/remove-element.html
  16. /intersection-observer/root-margin.html
  17. /intersection-observer/same-document-no-root.html
  18. /intersection-observer/same-document-root.html
  19. /intersection-observer/same-document-zero-size-target.html
  20. /intersection-observer/shadow-content.html
  21. /intersection-observer/timestamp.html
  22. /intersection-observer/unclipped-root.html
  23. /intersection-observer/zero-area-element-hidden.html
  24. /intersection-observer/zero-area-element-visible.html
Test Show/Hide Messagescr67sf12
/intersection-observer/bounding-box.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Test that the target's border bounding box is used to calculate intersection.PASSPASS
target.style.transform = 'translateY(195px)'PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
/intersection-observer/client-rect.htmlOKOK
First rAF should generate notification.PASS-
IntersectionObserverEntry.boundingClientRect should match target.boundingClientRect()PASSFAIL
sf12: The object is in the wrong document.
/intersection-observer/containing-block.htmlOKOK
In containing block and intersecting.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
In containing block and not intersecting.PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
IntersectionObserver should only report intersections if root is a containing block ancestor of target.PASSPASS
Not in containing block and intersecting.PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
Not in containing block and not intersecting.PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 1
/intersection-observer/cross-origin-iframe.htmlOKOK
First rAFPASSFAIL
sf12: assert_equals: expected 1 but got 0
Intersection observer test with no explicit root and target in a cross-origin iframe.PASSPASS
iframeDocument.scrollingElement.scrollTop = 250PASSFAIL
sf12: assert_equals: expected 1 but got 0
topDocument.scrollingElement.scrollTop = 100PASSFAIL
sf12: assert_equals: expected 1 but got 0
topDocument.scrollingElement.scrollTop = 200PASSPASS
/intersection-observer/disconnect.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: Initial notification. expected 1 but got 0
IntersectionObserver should not deliver pending notifications after disconnect().PASSPASS
observer.disconnect()PASSFAIL
sf12: assert_equals: No new notifications. expected 1 but got 0
/intersection-observer/display-none.htmlOKOK
Intersecting notification after first rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Intersecting notification after removing display:none on target.PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
IntersectionObserver should send a not-intersecting notification for a target that gets display:none.PASSPASS
Not-intersecting notification after setting display:none on target.PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
/intersection-observer/edge-inclusive-intersection.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
IntersectionObserver should detect and report edge-adjacent and zero-area intersections.PASSPASS
Set transform=translateY(185px) on target.PASSFAIL
sf12: assert_equals: entries.length expected 4 but got 0
Set transform=translateY(200px) on target.PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
Set transform=translateY(201px) on target.PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
/intersection-observer/iframe-no-root.htmlOKOK
First rAF.PASS-
Observer with the implicit root; target in a same-origin iframe.PASSFAIL
sf12: The object is in the wrong document.
document.scrollingElement.scrollTop = 100PASS-
document.scrollingElement.scrollTop = 200PASS-
iframe.contentDocument.scrollingElement.scrollTop = 250PASS-
/intersection-observer/isIntersecting-change-events.htmlOKOK
Add 4th target.PASS-
Rects in initial notifications should report initial positions.PASSFAIL
sf12: assert_equals: Has 3 initial notifications. expected 3 but got 0
Set scrollTop=100 and check for no new notifications.PASS-
Set scrollTop=100 and check for one new notification.PASS-
isIntersecting changes should trigger notifications.PASSPASS
/intersection-observer/multiple-targets.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: Three initial notifications. expected 3 but got 0
One observer with multiple targets.PASSPASS
document.scrollingElement.scrollTop = 0PASSFAIL
sf12: assert_equals: Nine notifications. expected 9 but got 0
document.scrollingElement.scrollTop = 10000PASSFAIL
sf12: assert_equals: Six notifications. expected 6 but got 0
document.scrollingElement.scrollTop = 150PASSFAIL
sf12: assert_equals: Four notifications. expected 4 but got 0
/intersection-observer/multiple-thresholds.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Observer with multiple thresholds.PASSPASS
document.scrollingElement.scrollTop = 120PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
document.scrollingElement.scrollTop = 160PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
document.scrollingElement.scrollTop = 200PASSFAIL
sf12: assert_equals: entries.length expected 4 but got 0
document.scrollingElement.scrollTop = 240PASSFAIL
sf12: assert_equals: entries.length expected 5 but got 0
document.scrollingElement.scrollTop = window.innerHeight + 140PASSFAIL
sf12: assert_equals: entries.length expected 6 but got 0
document.scrollingElement.scrollTop = window.innerHeight + 160PASSFAIL
sf12: assert_equals: entries.length expected 7 but got 0
document.scrollingElement.scrollTop = window.innerHeight + 200PASSFAIL
sf12: assert_equals: entries.length expected 8 but got 0
document.scrollingElement.scrollTop = window.innerHeight + 220PASS-
/intersection-observer/observer-attributes.htmlOKOK
Observer attribute getters.PASSPASS
observer.rootPASSPASS
observer.rootMarginPASSFAIL
sf12: assert_equals: expected "0px 0px 0px 0px" but got "0px"
observer.thresholdsPASSPASS
set observer.rootPASSPASS
set observer.rootMarginPASSFAIL
sf12: assert_equals: expected "10% 20px 10% 20px" but got "10% 20px"
set observer.thresholdsPASSPASS
/intersection-observer/observer-exceptions.htmlOKOK
IntersectionObserver constructor with { rootMargin: "1px !important" }PASSFAIL
sf12: assert_throws: function "function () { new IntersectionObserver(e => {}, {rootMargin: "1px !important"}) }" did not throw
IntersectionObserver constructor with { rootMargin: "1px 1px 1px 1px 1px" }PASSFAIL
sf12: assert_throws: function "function () { new IntersectionObserver(e => {}, {rootMargin: "1px 1px 1px 1px 1px"}) }" did not throw
IntersectionObserver constructor with { rootMargin: "2em" }PASSFAIL
sf12: assert_throws: function "function () { new IntersectionObserver(e => {}, {rootMargin: "2em"}) }" did not throw
IntersectionObserver constructor with { rootMargin: "auto" }PASSFAIL
sf12: assert_throws: function "function () { new IntersectionObserver(e => {}, {rootMargin: "auto"}) }" did not throw
IntersectionObserver constructor with { rootMargin: "calc(1px + 2px)" }PASSFAIL
sf12: assert_throws: function "function () { new IntersectionObserver(e => {}, {rootMargin: "calc(1px + 2px)"}) }" did not throw
IntersectionObserver constructor with { threshold: ["foo"] }PASSPASS
IntersectionObserver constructor with { threshold: [1.1] }PASSFAIL
sf12: assert_throws: function "function () { new IntersectionObserver(e => {}, {threshold: [1.1]}) }" did not throw
IntersectionObserver constructor witth { rootMargin: "1" }PASSFAIL
sf12: assert_throws: function "function () { new IntersectionObserver(e => {}, {rootMargin: "1"}) }" did not throw
IntersectionObserver.observe("foo")PASSPASS
/intersection-observer/observer-without-js-reference.htmlOKOK
First rAFPASSFAIL
sf12: assert_equals: One notification. expected 1 but got 0
IntersectionObserver that is unreachable in js should still generate notifications.PASSPASS
document.scrollingElement.scrollTop = 300PASSFAIL
sf12: assert_equals: Two notifications. expected 2 but got 0
/intersection-observer/remove-element.htmlOKOK
First rAFPASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Verify that not-intersecting notifications are sent when a target is removed from the DOM tree.PASSPASS
root.insertBefore(target, trailingSpace).PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
root.removeChild(target).PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
root.scrollTop = 150PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
root.scrollTop = 150 after reinserting target.PASSFAIL
sf12: assert_equals: entries.length expected 4 but got 0
/intersection-observer/root-margin.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Root margin testsPASSPASS
document.scrollingElement.scrollLeft = 100PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
document.scrollingElement.scrollTop = document.documentElement.clientHeight + 200PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
document.scrollingElement.scrollTop = document.documentElement.clientHeight + 300PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
/intersection-observer/same-document-no-root.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
IntersectionObserver in a single document using the implicit root.PASSPASS
document.scrollingElement.scrollTop = 100PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
document.scrollingElement.scrollTop = 300PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
/intersection-observer/same-document-root.htmlOKOK
First rAFPASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
IntersectionObserver in a single document with explicit root.PASSPASS
document.scrollingElement.scrollTop = 0.PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
document.scrollingElement.scrollTop = window.innerHeight.PASSFAIL
sf12: assert_equals: No notifications after scrolling frame. expected 1 but got 0
root.scrollTop = 0PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
root.scrollTop = 150 with root scrolled into view.PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
root.scrollTop = 150 with root scrolled out of view.PASSFAIL
sf12: assert_equals: entries.length expected 4 but got 0
/intersection-observer/same-document-zero-size-target.htmlOKOK
First rAFPASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Observing a zero-area target.PASSPASS
document.scrollingElement.scrollTop = 100PASSFAIL
sf12: assert_equals: entries.length expected 3 but got 0
document.scrollingElement.scrollTop = 300PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
/intersection-observer/shadow-content.htmlOKOK
First rAF after creating shadow DOM.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Observing a target inside shadow DOM.PASSPASS
/intersection-observer/timestamp.htmlOKERROR
Check that timestamps correspond to the to execution context that created the observer.PASSTIMEOUT
sf12: Test timed out
First rAF after iframe is loaded.PASS-
Generate notifications.PASS-
/intersection-observer/unclipped-root.htmlOKOK
First rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
Test that border bounding box is used to calculate intersection with a non-scrolling root.PASSPASS
target.style.transform = 'translateY(195px)'PASSFAIL
sf12: assert_equals: entries.length expected 2 but got 0
/intersection-observer/zero-area-element-hidden.htmlOKOK
A zero-area hidden target should not be intersecting.PASSPASS
First rAF.PASSFAIL
sf12: assert_equals: entries.length expected 1 but got 0
/intersection-observer/zero-area-element-visible.htmlOKOK
Ensure that a zero-area target intersecting root generates a notification with intersectionRatio == 1PASSPASS
First rAF should generate a notification.PASSFAIL
sf12: assert_equals: One notification. expected 1 but got 0