This test verifies that a page with a constant width viewport and a very large content width, the page is scaled such that the constant viewport width spans the width of the viewport. To test manually, load the page and verify that only the top bar spans the full width of the page.

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


PASS innerWidth is 1000
PASS successfullyParsed is true

TEST COMPLETE

