diff options
Diffstat (limited to 'widget/tests/window_state_windows.xhtml')
-rw-r--r-- | widget/tests/window_state_windows.xhtml | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/widget/tests/window_state_windows.xhtml b/widget/tests/window_state_windows.xhtml new file mode 100644 index 0000000000..f9a70eb004 --- /dev/null +++ b/widget/tests/window_state_windows.xhtml @@ -0,0 +1,82 @@ +<?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 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> + <script type="application/javascript"> + <![CDATA[ + + const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); + + SimpleTest.waitForExplicitFinish(); + + function onLoad() { + var win = Services.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.documentElement.clientHeight > 0, "document height should not be zero for a minimized window!"); + ok(document.documentElement.clientWidth > 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> |