This test does the following:
-Uses window.onpopstate to add a popstate handler
-Makes a call to pushState()
-Makes sure the history length is correct
-Goes back, and makes sure the popstate event is correct
-Goes forward, and makes sure the popstate event is correct

History length is 2
State popped - null (type object)
State popped - StateStringData (type string)

