135 lines
5.0 KiB
Plaintext
135 lines
5.0 KiB
Plaintext
Test the "scrollTop" 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 scrollTop value on the main body element (document.body), in quirks mode, this should change the main frame's scroll position.
|
|
PASS document.body.scrollTop = 42 is 42
|
|
PASS document.body.scrollLeft is 0
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 0
|
|
PASS window.scrollY is 42
|
|
|
|
Change scrollX, this should have no effect on the vertical scrolling
|
|
PASS window.scrollBy(21, 0) is undefined
|
|
PASS document.body.scrollLeft is 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
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 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
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.scrollTop = 500 is 500
|
|
PASS floatingBody.scrollLeft is 0
|
|
PASS floatingBody.scrollTop is 0
|
|
PASS document.body.scrollLeft is 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
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 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
Setting a "scrollTop" on secondSiblingBody should not affect the main frame.
|
|
PASS secondSiblingBody.scrollTop = 321 is 321
|
|
PASS secondSiblingBody.scrollLeft is 0
|
|
PASS secondSiblingBody.scrollTop is 0
|
|
PASS document.body.scrollLeft is 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
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 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
Setting a "scrollTop" on bodyChildOfMainBody should not affect the main frame.
|
|
PASS bodyChildOfMainBody.scrollTop = 57 is 57
|
|
PASS bodyChildOfMainBody.scrollLeft is 0
|
|
PASS bodyChildOfMainBody.scrollTop is 0
|
|
PASS document.body.scrollLeft is 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
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 21
|
|
PASS document.body.scrollTop is 42
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 42
|
|
|
|
Scrolling that new body should work as expected.
|
|
PASS document.body.scrollTop = 68 is 68
|
|
PASS oldBodyElement.scrollTop = 894 is 894
|
|
PASS oldBodyElement.scrollLeft is 0
|
|
PASS oldBodyElement.scrollTop is 0
|
|
PASS document.body.scrollLeft is 21
|
|
PASS document.body.scrollTop is 68
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 68
|
|
|
|
Scrolling the main frame should not require a renderer.
|
|
PASS document.body.style.display = 'none' is 'none'
|
|
PASS document.body.scrollTop = 54 is 54
|
|
PASS oldBodyElement.scrollLeft is 0
|
|
PASS oldBodyElement.scrollTop is 0
|
|
PASS document.body.scrollLeft is 21
|
|
PASS document.body.scrollTop is 54
|
|
PASS document.documentElement.scrollLeft is 0
|
|
PASS document.documentElement.scrollTop is 0
|
|
PASS window.scrollX is 21
|
|
PASS window.scrollY is 54
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|