| <html> |
| <head> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../../resources/testdriver.js"></script> |
| <script src="../../resources/testdriver-vendor.js"></script> |
| </head> |
| <body> |
| <button id="button1" onclick="testButton1()">Click Here</button> |
| <button id="button2" onclick="testButton2()">Click Here Too</button> |
| <button id="test" onclick="popup()" style="display:none"></button> |
| <script> |
| setup({explicit_done: true}); |
| |
| var testNum = 0; |
| var win; |
| |
| function popup() { |
| win = window.open("about:blank", "blank"); |
| assert_not_equals(win, null); |
| } |
| |
| function testButton1() { |
| document.getElementById("test").click(); |
| ++testNum; |
| closeWindowAndRunNextTest(); |
| } |
| |
| function testButton2() { |
| var clickEvent = document.createEvent("MouseEvents"); |
| clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); |
| document.getElementById("test").dispatchEvent(clickEvent); |
| ++testNum; |
| closeWindowAndRunNextTest(); |
| } |
| |
| function closeWindowAndRunNextTest() { |
| if (!win) |
| nextTest(); |
| |
| win.close(); |
| setTimeout(doneHandler, 1); |
| |
| function doneHandler() { |
| if (win.closed) { |
| setTimeout(nextTest, 1); |
| return; |
| } |
| setTimeout(doneHandler, 1); |
| } |
| } |
| |
| function nextTest() { |
| if (testNum == 0) { |
| test(() => { |
| test_driver.click(button1); |
| }, 'Click button1'); |
| } else if (testNum == 1) { |
| test(() => { |
| test_driver.click(button2); |
| }, 'Click button2'); |
| } else { |
| done(); |
| } |
| } |
| |
| if (window.testRunner) { |
| testRunner.setCanOpenWindows(); |
| testRunner.setPopupBlockingEnabled(true); |
| |
| nextTest(); |
| } |
| </script> |
| </body> |
| </html> |