diff options
Diffstat (limited to 'widget/tests/window_state_windows.xul')
-rw-r--r-- | widget/tests/window_state_windows.xul | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/widget/tests/window_state_windows.xul b/widget/tests/window_state_windows.xul new file mode 100644 index 000000000..9643e1dad --- /dev/null +++ b/widget/tests/window_state_windows.xul @@ -0,0 +1,87 @@ +<?xml version="1.0"?> + +<!-- This Source Code Form is subject to the terms of the Mozilla Public + - License, v. 2.0. If a copy of the MPL was not distributed with this + - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> + +<?xml-stylesheet href="chrome://global/skin" type="text/css"?> +<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?> + +<window id="NativeWindow" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + width="300" + height="300" + onload="onLoad();" + title="Window State Tests"> + + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> + <script type="application/javascript"> + <![CDATA[ + + let Cc = Components.classes; + let Ci = Components.interfaces; + let Cu = Components.utils; + Cu.import("resource://gre/modules/XPCOMUtils.jsm"); + + SimpleTest.waitForExplicitFinish(); + + function onLoad() { + var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); + var win = wm.getMostRecentWindow("navigator:browser"); + + /* + switch(win.windowState) { + case win.STATE_FULLSCREEN: + dump("STATE_FULLSCREEN \n"); + break; + case win.STATE_MAXIMIZED: + dump("STATE_MAXIMIZED \n"); + break; + case win.STATE_MINIMIZED: + dump("STATE_MINIMIZED \n"); + break; + case win.STATE_NORMAL: + dump("STATE_NORMAL \n"); + break; + } + */ + + // Make sure size mode changes are reflected in the widget. + win.restore(); + ok(win.windowState == win.STATE_NORMAL, "window state is restored."); + win.minimize(); + ok(win.windowState == win.STATE_MINIMIZED, "window state is minimized."); + + // Windows resizes children to 0x0. Code in nsWindow filters these changes out. Without + // this all sorts of screwy things can happen in child widgets. + ok(document.height > 0, "document height should not be zero for a minimized window!"); + ok(document.width > 0, "document width should not be zero for a minimized window!"); + + // Make sure size mode changes are reflected in the widget. + win.restore(); + ok(win.windowState == win.STATE_NORMAL, "window state is restored."); + win.maximize(); + ok(win.windowState == win.STATE_MAXIMIZED, "window state is maximized."); + win.restore(); + ok(win.windowState == win.STATE_NORMAL, "window state is restored."); + + /* + dump(win.screenX + "\n"); + win.minimize(); + dump(win.screenX + "\n"); + win.restore(); + dump(win.screenX + "\n"); + */ + + SimpleTest.finish(); + } + + ]]> + </script> + <body xmlns="http://www.w3.org/1999/xhtml"> + <p id="display"></p> + <div id="content" style="display: none"></div> + <pre id="test"></pre> + </body> +</window> |