Tests that pressing the spacebar and Escape to open and close the popover work, do not cause a value change, and that we scroll the form control into view when the popover is opened.

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



After tab focused:
PASS document.getElementById("test").value is "First"

After dismissing popover by pressing Escape:
PASS document.getElementById("test").value is "First"

After opening popover by pressing spacebar:
PASS document.getElementById("test").value is "First"

After scrolling the page and pressing spacebar:
PASS window.scrollY is non-zero.
PASS window.scrollY is 0
PASS successfullyParsed is true

TEST COMPLETE

