summaryrefslogtreecommitdiff
path: root/toolkit/content/tests/chrome/test_cursorsnap.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/tests/chrome/test_cursorsnap.xul')
-rw-r--r--toolkit/content/tests/chrome/test_cursorsnap.xul127
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 0000000000..de153e7040
--- /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>