This test calls pushState with state objects of all the different object types supported by the HTML5 "internal structured cloning algorithm" and makes sure the state attribute returns the expected objects.

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


PASS history.state is defined.

history.state should initially be null.
PASS history.state is null

PASS history.state is undefined.
PASS history.state is null
PASS history.state is false
PASS history.state is true
PASS history.state is 42
PASS history.state is "String"
PASS +history.state is +(new Date(0))
PASS history.state == '/foo/gi' is true
PASS history.state == '' is true
PASS history.state == '[object Object]' is true
PASS history.state == '[object ImageData]' is true
PASS successfullyParsed is true

TEST COMPLETE

