Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/http/tests/cache/location-reload.html |
| diff --git a/third_party/WebKit/LayoutTests/http/tests/cache/location-reload.html b/third_party/WebKit/LayoutTests/http/tests/cache/location-reload.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c04cc375fd693f01ddb668621ca90d51bf73b7ea |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/http/tests/cache/location-reload.html |
| @@ -0,0 +1,45 @@ |
| +<!DOCYUPE html> |
| +<h1>random</h1> |
| +<script src="../resources/testharness.js"></script> |
| +<script src="../resources/testharnessreport.js"></script> |
| +<script> |
| + |
| +async_test(t => { |
| + const passMessage = "PASS"; |
| + const readyMessage = "READY"; |
| + let expectedMessage = readyMessage; |
| + let testWindow = null; |
| + let messageCount = 0; |
| + |
| + // Test will run on testWindow that is opened below. |
| + // This page just received messages to confirm if tests run expectedly. |
| + window.addEventListener("message", e => { |
| + t.step(() => { |
| + // Check if messages are received in an expected order. |
| + assert_equals(e.data, expectedMessage, "received message is " + e.data); |
| + |
| + // If all tests pass, "PASS" will be received. |
| + if (e.data == passMessage) { |
| + t.done(); |
| + } else { |
| + // Will receive "READY" twice because of a reload, then receive "PASS". |
| + // Update expectedMessage as it will. |
| + messageCount++; |
| + if (messageCount == 2) |
| + expectedMessage = passMessage; |
| + |
| + // Send back "START" message for "READY". |
| + assert_class_string(testWindow, "Window", "testWindow is invalid"); |
| + testWindow.postMessage("START", location.origin); |
| + } |
| + }); |
| + }, false); |
|
kouhei (in TOK)
2016/12/14 10:57:41
Try addEventListener("msg", e => {...}, {once: tr
Takashi Toyoshima
2016/12/14 12:31:10
Done.
|
| + |
| + // Start a test in a dedicated window because we can not track navigations |
| + // within a test harness. |
| + t.step(() => { |
| + testWindow = open("./resources/location-reload-window.html", "testWindow"); |
| + assert_class_string(testWindow, "Window", "window.open() fails"); |
|
kouhei (in TOK)
2016/12/14 10:57:41
s/fails/failed
Takashi Toyoshima
2016/12/14 12:31:10
Done.
|
| + }); |
| +}, "Test location.reload() cache behaviors"); |
| +</script> |