Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5b6f80c27269ef569c9c1382bbe154237b0f5a80 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event.html |
@@ -0,0 +1,43 @@ |
+<!doctype html> |
+<title>Queue a task to fire hashchange event</title> |
+<script src="../../../../../../resources/testharness.js"></script> |
+<script src="../../../../../../resources/testharnessreport.js"></script> |
+<div id="log"></div> |
+<script> |
+t = async_test(); |
+window.onload = t.step_func(function () { |
+ if (location.href.toString().indexOf("#") > -1) { |
+ location.href = location.href.replace(/#.*$/,''); |
+ return; |
+ } |
+ var root = location.href; |
+ var oldURLs = []; |
+ var newURLs = []; |
+ |
+ var timer = null; |
+ |
+ location.hash = 'foo'; |
+ window.onhashchange = t.step_func(function (e) { |
+ oldURLs.push(e.oldURL); |
+ newURLs.push(e.newURL); |
+ if (newURLs.length === 2) { |
+ check_result(); |
+ } else if (timer === null) { |
+ timer = setTimeout(function() {check_result()}, 500); |
+ } |
+ }) |
+ |
+ check_result = t.step_func(function() { |
+ clearTimeout(timer); |
+ try { |
+ assert_array_equals([root, root+"#foo"], oldURLs, "e.newURL"); |
+ assert_array_equals([root+"#foo", root+"#bar"], newURLs, "e.newURL"); |
+ t.done(); |
+ } finally { |
+ location.hash = ""; |
+ } |
+ }); |
+ |
+ location.hash = 'bar'; |
+}); |
+</script> |