Tests that, for Quirks mode, changing the scrollTop property of a fake body element does not scroll the viewport

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



Initial state.
PASS detachedBody.scrollTop is 0
PASS detachedBody.scrollLeft is 0
PASS document.body.scrollTop = 0 is 0
PASS document.body.scrollLeft is 0
PASS document.body.scrollTop is 0
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 0
PASS window.scrollY is 0

Setting scrollTop on the detached body element should not change the main frame's scroll position.
PASS detachedBody.scrollTop = 500 is 500
PASS document.body.scrollLeft is 0
PASS document.body.scrollTop is 0
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 0
PASS window.scrollY is 0
PASS detachedBody.scrollTop is 0
PASS detachedBody.scrollLeft is 0
PASS successfullyParsed is true

TEST COMPLETE

