diff options
Diffstat (limited to 'toolkit/content/tests/chrome/test_cursorsnap.xul')
-rw-r--r-- | toolkit/content/tests/chrome/test_cursorsnap.xul | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/toolkit/content/tests/chrome/test_cursorsnap.xul b/toolkit/content/tests/chrome/test_cursorsnap.xul new file mode 100644 index 000000000..de153e704 --- /dev/null +++ b/toolkit/content/tests/chrome/test_cursorsnap.xul @@ -0,0 +1,127 @@ +<?xml version="1.0"?> +<?xml-stylesheet href="chrome://global/skin" type="text/css"?> +<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" + type="text/css"?> +<window title="Cursor snapping test" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> + + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js" /> + +<body xmlns="http://www.w3.org/1999/xhtml"> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +</pre> +</body> + +<script class="testbody" type="application/javascript"> +<![CDATA[ + +SimpleTest.waitForExplicitFinish(); + +const kMaxRetryCount = 4; +const kTimeoutTime = [ + 100, 100, 1000, 1000, 5000 +]; + +var gRetryCount; + +var gTestingCount = 0; +var gTestingIndex = -1; +var gDisable = false; +var gHidden = false; + +function canRetryTest() +{ + return gRetryCount <= kMaxRetryCount; +} + +function getTimeoutTime() +{ + return kTimeoutTime[gRetryCount]; +} + +function runNextTest() +{ + gRetryCount = 0; + gTestingIndex++; + runCurrentTest(); +} + +function retryCurrentTest() +{ + ok(canRetryTest(), "retry the current test..."); + gRetryCount++; + runCurrentTest(); +} + +function runCurrentTest() +{ + var position = "top=" + gTestingCount + ",left=" + gTestingCount + ","; + gTestingCount++; + switch (gTestingIndex) { + case 0: + gDisable = false; + gHidden = false; + window.open("window_cursorsnap_dialog.xul", "_blank", + position + "chrome,width=100,height=100"); + break; + case 1: + gDisable = true; + gHidden = false; + window.open("window_cursorsnap_dialog.xul", "_blank", + position + "chrome,width=100,height=100"); + break; + case 2: + gDisable = false; + gHidden = true; + window.open("window_cursorsnap_dialog.xul", "_blank", + position + "chrome,width=100,height=100"); + break; + case 3: + gDisable = false; + gHidden = false; + window.open("window_cursorsnap_wizard.xul", "_blank", + position + "chrome,width=100,height=100"); + break; + case 4: + gDisable = true; + gHidden = false; + window.open("window_cursorsnap_wizard.xul", "_blank", + position + "chrome,width=100,height=100"); + break; + case 5: + gDisable = false; + gHidden = true; + window.open("window_cursorsnap_wizard.xul", "_blank", + position + "chrome,width=100,height=100"); + break; + default: + SetPrefs(false); + SimpleTest.finish(); + return; + } +} + +function SetPrefs(aSet) +{ + var prefSvc = Components.classes["@mozilla.org/preferences-service;1"]. + getService(Components.interfaces.nsIPrefBranch); + const kPrefName = "ui.cursor_snapping.always_enabled"; + if (aSet) { + prefSvc.setBoolPref(kPrefName, true); + } else if (prefSvc.prefHasUserValue(kPrefName)) { + prefSvc.clearUserPref(kPrefName); + } +} + +SetPrefs(true); +runNextTest(); + +]]> +</script> +</window> |