| <title>Test same-URL navigation and its effects on history</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <div id=log></div> |
| <iframe src=resources/a.html></iframe> |
| <script> |
| async_test((t) => { |
| let state = "begin" |
| self[0].frameElement.onload = t.step_func(() => { |
| if(state === "b first") { |
| assert_equals(history.length, 2) |
| |
| state = "c first" |
| self[0].location = "resources/c.html" |
| } else if (state === "c first") { |
| assert_equals(history.length, 3) |
| |
| state = "a second" |
| history.back(2) |
| } else if (state === "a second") { |
| assert_equals(history.length, 3) |
| |
| state = "a third" |
| self[0].location.href = "resources/a.html" |
| } else if (state === "a third") { |
| assert_equals(history.length, 3) |
| t.done() |
| } |
| }) |
| onload = t.step_func(() => { |
| assert_equals(state, "begin") |
| assert_equals(history.length, 1) |
| |
| state = "b first" |
| self[0].location = "resources/b.html" |
| }) |
| }) |
| </script> |