| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <title>New Window Opener Test</title> |
| |
| <link rel="stylesheet" href="../../js/resources/js-test-style.css"> |
| <script src="../../js/resources/js-test-pre.js"></script> |
| </head> |
| |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script type="text/javascript"> |
| if (window.layoutTestController) { |
| layoutTestController.dumpAsText(); |
| layoutTestController.waitUntilDone(); |
| layoutTestController.setCanOpenWindows(); |
| } |
| |
| |
| description( |
| 'This tests that the different arguments given to a new window are honored.<br/>\ |
| Take note that menubar is special and always on in Mac but not in Win.' |
| ); |
| |
| var args = [ "scrollbars=yes,width=75,height=100" |
| , "scrollbars=no,width=75,height=100" |
| , "scrollbars=1,width=75,height=100" |
| , "scrollbars=0,width=75,height=100" |
| , "toolbar=yes,width=75,height=100" |
| , "toolbar=no,width=75,height=100" |
| , "toolbar=1,width=75,height=100" |
| , "toolbar=0,width=75,height=100" |
| , "status=yes,width=75,height=100" |
| , "status=no,width=75,height=100" |
| , "status=1,width=75,height=100" |
| , "status=0,width=75,height=100" |
| , "menubar=yes,width=75,height=100" |
| , "menubar=no,width=75,height=100" |
| , "menubar=1,width=75,height=100" |
| , "menubar=0,width=75,height=100" |
| , "location=yes,width=75,height=100" |
| , "location=no,width=75,height=100" |
| , "location=1,width=75,height=100" |
| , "location=0,width=75,height=100" |
| ]; |
| |
| var actual = [ "newWin.scrollbars.visible", "newWin.scrollbars.visible", "newWin.scrollbars.visible", "newWin.scrollbars.visible" |
| , "newWin.toolbar.visible", "newWin.toolbar.visible", "newWin.toolbar.visible", "newWin.toolbar.visible" |
| , "newWin.statusbar.visible", "newWin.statusbar.visible", "newWin.statusbar.visible", "newWin.statusbar.visible" |
| , "newWin.menubar.visible", "newWin.menubar.visible", "newWin.menubar.visible", "newWin.menubar.visible" |
| , "newWin.locationbar.visible", "newWin.locationbar.visible", "newWin.locationbar.visible", "newWin.locationbar.visible" |
| ]; |
| |
| var expected = [ "true", "false", "true", "false" |
| , "true", "false", "true", "false" |
| , "true", "false", "true", "false" |
| , "true", "isMenubarAlwaysExpected", "true", "isMenubarAlwaysExpected" |
| , "true", "false", "true", "false" |
| ]; |
| |
| // Since Mac always shows the menu bar we need to special case it, but in |
| // a way that does not require platform specific results. |
| var isMacOSX = navigator.userAgent.indexOf("Mac OS X"); |
| var isMenubarAlwaysExpected; |
| if (isMacOSX != -1) |
| isMenubarAlwaysExpected = true; |
| else |
| isMenubarAlwaysExpected = false; |
| |
| var testNum = 0; |
| var lastTest = args.length; |
| var newWin; |
| |
| nextTest(); |
| function nextTest() { |
| if (testNum == lastTest) { |
| finished(); |
| return; |
| } else if (testNum == 0) { |
| debug(""); |
| debug("Scrollbar"); |
| } else if (testNum == 4) { |
| debug(""); |
| debug("Toolbar"); |
| } else if (testNum == 8) { |
| debug(""); |
| debug("Statusbar"); |
| } else if (testNum == 12) { |
| debug(""); |
| debug("Menubar"); |
| } else if (testNum == 16) { |
| debug(""); |
| debug("Locationbar"); |
| } |
| |
| //get the next test and run it. |
| newWin = window.open("../resources/abe.png", "testWindow", args[testNum] ); |
| shouldBe(actual[testNum], expected[testNum]); |
| ++testNum; |
| closeAndRunNextTest(newWin); |
| } |
| |
| function closeAndRunNextTest(winToClose) { |
| winToClose.close(); |
| setTimeout(doneHandler, 1); |
| |
| function doneHandler() { |
| if (winToClose.closed) { |
| setTimeout(nextTest, 1); |
| return; |
| } |
| setTimeout(doneHandler, 1); |
| } |
| } |
| |
| function finished() { |
| shouldBeTrue("window.successfullyParsed"); |
| debug('<br><span class="pass">TEST COMPLETE</span>'); |
| |
| if (window.layoutTestController) |
| layoutTestController.notifyDone(); |
| } |
| |
| successfullyParsed = true; |
| |
| </script> |
| </body> |
| </html> |
| |