no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / docshell / test / mochitest / test_bug1743353.html
bloba5d88df3f62df03e57d22ed1322b4db920ef02da
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Test back/forward after pushState</title>
6 <script src="/tests/SimpleTest/SimpleTest.js"></script>
7 <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
8 <script>
9 SimpleTest.waitForExplicitFinish();
11 function runTest() {
12 let bc = new BroadcastChannel("bug1743353");
13 new Promise((resolve) => {
14 bc.addEventListener("message", () => {
15 resolve();
16 }, { once: true });
18 window.open("file_bug1743353.html", "", "noopener");
19 }).then(() => {
20 return new Promise(resolve => {
21 bc.addEventListener("message", () => {
22 resolve();
23 }, { once: true });
25 bc.postMessage("load");
27 }).then(() => {
28 return new Promise(resolve => {
29 let results = [];
30 bc.addEventListener("message", function listener({ data }) {
31 results.push(data);
32 if (results.length == 3) {
33 bc.removeEventListener("message", listener);
34 resolve(results);
36 });
38 bc.postMessage("back");
39 });
40 }).then((results) => {
41 is(results[0], "pagehide", "First event should be 'pagehide'.");
42 is(results[1], "unload", "Second event should be 'unload'.");
43 is(results[2], "pageshow", "Third event should be 'pageshow'.");
45 bc.postMessage("close");
47 SimpleTest.finish();
48 });
50 </script>
51 </head>
52 <body onload="runTest();">
53 <p id="display"></p>
54 <div id="content" style="display: none"></div>
55 <pre id="test"></pre>
56 </body>
57 </html>