Put mouse near the bottom of the select and scroll downwards.
Scrollable Select


Tests that a select doesn't pass wheel events to main frame when scrolling at bottom

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS successfullyParsed is true

TEST COMPLETE
div display height = 111
Mouse moved to (30, 238)
PASS Page did not receive wheel events.
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 2008.00 2296.00)
  (visible rect 0.00, 0.00 785.00 x 585.00)
  (coverage rect 0.00, 0.00 785.00 x 585.00)
  (intersects coverage rect 1)
  (contentsScale 1.00)
  (children 1
    (GraphicsLayer
      (bounds 2008.00 2296.00)
      (contentsOpaque 1)
      (visible rect 0.00, 0.00 785.00 x 585.00)
      (coverage rect 0.00, 0.00 1570.00 x 1755.00)
      (intersects coverage rect 1)
      (contentsScale 1.00)
      (tile cache coverage 0, 0 2008 x 2048)
      (tile size 512 x 512)
      (top left tile 0, 0 tiles grid 4 x 4)
      (in window 1)
    )
  )
)

