Tests that the second parameter to history.replaceState() / pushState() is mandatory.

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


PASS history.replaceState() threw exception TypeError: Not enough arguments.
PASS history.replaceState({}) threw exception TypeError: Not enough arguments.
PASS history.pushState() threw exception TypeError: Not enough arguments.
PASS history.pushState({}) threw exception TypeError: Not enough arguments.
PASS successfullyParsed is true

TEST COMPLETE

