This tests calling the window scrolling with only 1 argument

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



window.scrollTo Tests

Testing - scrollTo with 0 arguments
PASS window.scrollX is resetX
PASS window.scrollY is resetY
PASS window.scrollX is x
PASS window.scrollY is y
Testing - scrollTo with 1 non-dictionary argument
PASS scrollTo(0) threw exception TypeError: Type error.
Testing - scrollTo with 1 dictionary argument
PASS window.scrollX is x
PASS window.scrollY is resetY
PASS window.scrollX is resetX
PASS window.scrollY is y
PASS window.scrollX is x
PASS window.scrollY is y
PASS window.scrollX is 0
PASS window.scrollY is 0
Testing - scrollTo with more than 2 arguments
PASS window.scrollX is x
PASS window.scrollY is y

window.scroll Tests

Testing - scroll with 0 arguments
PASS window.scrollX is resetX
PASS window.scrollY is resetY
PASS window.scrollX is x
PASS window.scrollY is y
Testing - scroll with 1 non-dictionary argument
PASS scroll(0) threw exception TypeError: Type error.
Testing - scroll with 1 dictionary argument
PASS window.scrollX is x
PASS window.scrollY is resetY
PASS window.scrollX is resetX
PASS window.scrollY is y
PASS window.scrollX is x
PASS window.scrollY is y
PASS window.scrollX is 0
PASS window.scrollY is 0
Testing - scroll with more than 2 arguments
PASS window.scrollX is x
PASS window.scrollY is y

window.scrollBy Tests

Testing - scrollBy with 0 arguments
PASS window.scrollX is resetX
PASS window.scrollY is resetY
PASS window.scrollX is x
PASS window.scrollY is y
Testing - scrollBy with 1 non-dictionary argument
PASS scrollBy(0) threw exception TypeError: Type error.
Testing - scrollBy with 1 argument
PASS window.scrollX is resetX + x
PASS window.scrollY is resetY
PASS window.scrollX is resetX
PASS window.scrollY is resetY + y
PASS window.scrollX is resetX + x
PASS window.scrollY is resetY + y
PASS window.scrollX is resetX + x
PASS window.scrollY is resetY + y
Testing - scrollBy with more than 2 arguments
PASS window.scrollX is resetX + x
PASS window.scrollY is resetY + y
PASS successfullyParsed is true

TEST COMPLETE
This box should force the window to have a scrollable area to test.
