| <html> |
| <head> |
| <script> |
| |
| if (window.testRunner) { |
| testRunner.clearBackForwardList(); |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function log(txt) |
| { |
| document.getElementById("logger").innerText += txt + "\n"; |
| } |
| |
| function runTest() |
| { |
| history.pushState("StateStringData", "New title"); |
| log("History length is " + history.length); |
| history.replaceState(1, "Replaced title"); |
| log("History length is " + history.length); |
| history.back(); |
| } |
| |
| onpopstate = function(event) |
| { |
| log("State popped - " + event.state + " (type " + typeof event.state + ")"); |
| if (event.state == null) |
| history.forward(); |
| else if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| |
| </script> |
| <body onload="runTest();"> |
| <pre> |
| This test does the following: |
| -Makes a call to pushState() |
| -Makes sure the history length is correct |
| -Makes a call to replaceState() |
| -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 represents the replaced state object |
| </pre><br> |
| <pre id="logger"></pre> |
| </body> |
| </html> |