Test the "scrollLeft" properties on the body element in quirks mode.

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


Initial values
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

Let set the scrollLeft value on the main body element (document.body), in quirks mode, this should change the main frame's scroll position.
PASS document.body.scrollLeft = 42 is 42
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 0
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 0

Change scrollX, this should have no effect on the horizontal scrolling
PASS window.scrollBy(0, 21) is undefined
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

Now we create a body element, completely detached from the DOM tree. This should not change the scroll position in any way.
PASS floatingBody.scrollLeft is 0
PASS floatingBody.scrollTop is 0
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

Setting the scroll position on that detached body element should not affect the main frame since it is not the first body element of the document.
PASS floatingBody.scrollLeft = 654 is 654
PASS floatingBody.scrollLeft is 0
PASS floatingBody.scrollTop is 0
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

We add a new body element after the first body element, this should have no impact on the state.
PASS secondSiblingBody.scrollLeft is 0
PASS secondSiblingBody.scrollTop is 0
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

Setting a "scrollTop" on secondSiblingBody should not affect the main frame.
PASS secondSiblingBody.scrollLeft = 987 is 987
PASS secondSiblingBody.scrollLeft is 0
PASS secondSiblingBody.scrollTop is 0
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

We add a new body element inside the first body element, this should have no impact on the state.
PASS bodyChildOfMainBody.scrollLeft is 0
PASS bodyChildOfMainBody.scrollTop is 0
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

Setting a "scrollTop" on bodyChildOfMainBody should not affect the main frame.
PASS bodyChildOfMainBody.scrollLeft = 57 is 57
PASS bodyChildOfMainBody.scrollLeft is 0
PASS bodyChildOfMainBody.scrollTop is 0
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

Now we insert a new body element *before* the existing one. It will replace the existing element as the first body element of the document.
PASS document.body === newMainBody is true
PASS document.body !== oldBodyElement is true
Since we are in quirks mode, the new body element gets the scroll position from the frame, and the old one lose its scroll position.
PASS oldBodyElement.scrollLeft is 0
PASS oldBodyElement.scrollTop is 0
PASS document.body.scrollLeft is 42
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 42
PASS window.scrollY is 21

Scrolling that new body should work as expected.
PASS document.body.scrollLeft = 68 is 68
PASS oldBodyElement.scrollLeft = 894 is 894
PASS oldBodyElement.scrollLeft is 0
PASS oldBodyElement.scrollTop is 0
PASS document.body.scrollLeft is 68
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 68
PASS window.scrollY is 21

Scrolling the main frame should not require a renderer.
PASS document.body.style.display = 'none' is 'none'
PASS document.body.scrollLeft = 54 is 54
PASS oldBodyElement.scrollLeft is 0
PASS oldBodyElement.scrollTop is 0
PASS document.body.scrollLeft is 54
PASS document.body.scrollTop is 21
PASS document.documentElement.scrollLeft is 0
PASS document.documentElement.scrollTop is 0
PASS window.scrollX is 54
PASS window.scrollY is 21
PASS successfullyParsed is true

TEST COMPLETE

