summaryrefslogtreecommitdiffstats
path: root/toolkit/components/prompts
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-02-25 15:07:00 -0500
committerMatt A. Tobin <email@mattatobin.com>2020-02-25 15:07:00 -0500
commit0ddd00f1959c78ce37c14fef3c83401408fca3bf (patch)
treed408e02767c86cf8aac3acbb86722b03c77ede6f /toolkit/components/prompts
parent20f0905b33cbb18d1caa80c55e2f552c2e18957b (diff)
downloadUXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.gz
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.lz
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.xz
UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.zip
Issue #439 - Remove tests from toolkit/
Diffstat (limited to 'toolkit/components/prompts')
-rw-r--r--toolkit/components/prompts/moz.build2
-rw-r--r--toolkit/components/prompts/test/.eslintrc.js7
-rw-r--r--toolkit/components/prompts/test/bug619644_inner.html7
-rw-r--r--toolkit/components/prompts/test/bug625187_iframe.html16
-rw-r--r--toolkit/components/prompts/test/chromeScript.js241
-rw-r--r--toolkit/components/prompts/test/mochitest.ini19
-rw-r--r--toolkit/components/prompts/test/prompt_common.js158
-rw-r--r--toolkit/components/prompts/test/test_bug619644.html76
-rw-r--r--toolkit/components/prompts/test/test_bug620145.html105
-rw-r--r--toolkit/components/prompts/test/test_dom_prompts.html208
-rw-r--r--toolkit/components/prompts/test/test_modal_prompts.html1184
-rw-r--r--toolkit/components/prompts/test/test_modal_select.html146
-rw-r--r--toolkit/components/prompts/test/test_subresources_prompts.html202
13 files changed, 0 insertions, 2371 deletions
diff --git a/toolkit/components/prompts/moz.build b/toolkit/components/prompts/moz.build
index 1dc21cca6..b827a11b6 100644
--- a/toolkit/components/prompts/moz.build
+++ b/toolkit/components/prompts/moz.build
@@ -6,6 +6,4 @@
DIRS += ['src']
-MOCHITEST_MANIFESTS += ['test/mochitest.ini']
-
JAR_MANIFESTS += ['jar.mn']
diff --git a/toolkit/components/prompts/test/.eslintrc.js b/toolkit/components/prompts/test/.eslintrc.js
deleted file mode 100644
index 3c788d6d6..000000000
--- a/toolkit/components/prompts/test/.eslintrc.js
+++ /dev/null
@@ -1,7 +0,0 @@
-"use strict";
-
-module.exports = {
- "extends": [
- "../../../../testing/mochitest/mochitest.eslintrc.js"
- ]
-};
diff --git a/toolkit/components/prompts/test/bug619644_inner.html b/toolkit/components/prompts/test/bug619644_inner.html
deleted file mode 100644
index f929c5649..000000000
--- a/toolkit/components/prompts/test/bug619644_inner.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<head></head><body><p>Original content</p>
-<script>
- window.opener.postMessage("", "*");
- confirm ("Message");
- document.write ("Extra content");
- window.opener.postMessage(document.documentElement.innerHTML, "*");
-</script></body>
diff --git a/toolkit/components/prompts/test/bug625187_iframe.html b/toolkit/components/prompts/test/bug625187_iframe.html
deleted file mode 100644
index 740d59a61..000000000
--- a/toolkit/components/prompts/test/bug625187_iframe.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html>
-<head>
- <title>Test for Bug 625187 - the iframe</title>
-<!--
- - Any copyright is dedicated to the Public Domain.
- - http://creativecommons.org/publicdomain/zero/1.0/
- -
- - Contributor(s):
- - Mihai Sucan <mihai.sucan@gmail.com>
- -->
-</head>
-<body>
-<p><button id="btn1" onclick="alert('hello world 2')">Button 2</button></p>
-<p><button id="btn2" onclick="window.parent.alert('hello world 3')">Button 3</button></p>
-</body>
-</html>
diff --git a/toolkit/components/prompts/test/chromeScript.js b/toolkit/components/prompts/test/chromeScript.js
deleted file mode 100644
index 7b2d37100..000000000
--- a/toolkit/components/prompts/test/chromeScript.js
+++ /dev/null
@@ -1,241 +0,0 @@
-const { classes: Cc, interfaces: Ci, results: Cr, utils: Cu } = Components;
-Components.utils.import("resource://gre/modules/Services.jsm");
-Components.utils.import("resource://gre/modules/Timer.jsm");
-
-// Define these to make EventUtils happy.
-let window = this;
-let parent = {};
-
-let EventUtils = {};
-Services.scriptloader.loadSubScript(
- "chrome://mochikit/content/tests/SimpleTest/EventUtils.js",
- EventUtils
-);
-
-addMessageListener("handlePrompt", msg => {
- handlePromptWhenItAppears(msg.action, msg.isTabModal, msg.isSelect);
-});
-
-function handlePromptWhenItAppears(action, isTabModal, isSelect) {
- let interval = setInterval(() => {
- if (handlePrompt(action, isTabModal, isSelect)) {
- clearInterval(interval);
- }
- }, 100);
-}
-
-function handlePrompt(action, isTabModal, isSelect) {
- let ui;
-
- if (isTabModal) {
- let browserWin = Services.wm.getMostRecentWindow("navigator:browser");
- let gBrowser = browserWin.gBrowser;
- let promptManager = gBrowser.getTabModalPromptBox(gBrowser.selectedBrowser);
- let prompts = promptManager.listPrompts();
- if (!prompts.length) {
- return false; // try again in a bit
- }
-
- ui = prompts[0].Dialog.ui;
- } else {
- let doc = getDialogDoc();
- if (!doc) {
- return false; // try again in a bit
- }
-
- if (isSelect)
- ui = doc;
- else
- ui = doc.defaultView.Dialog.ui;
-
- }
-
- let promptState;
- if (isSelect) {
- promptState = getSelectState(ui);
- dismissSelect(ui, action);
- } else {
- promptState = getPromptState(ui);
- dismissPrompt(ui, action);
- }
- sendAsyncMessage("promptHandled", { promptState: promptState });
- return true;
-}
-
-function getSelectState(ui) {
- let listbox = ui.getElementById("list");
-
- let state = {};
- state.msg = ui.getElementById("info.txt").value;
- state.selectedIndex = listbox.selectedIndex;
- state.items = [];
-
- for (let i = 0; i < listbox.itemCount; i++) {
- let item = listbox.getItemAtIndex(i).label;
- state.items.push(item);
- }
-
- return state;
-}
-
-function getPromptState(ui) {
- let state = {};
- state.msg = ui.infoBody.textContent;
- state.titleHidden = ui.infoTitle.getAttribute("hidden") == "true";
- state.textHidden = ui.loginContainer.hidden;
- state.passHidden = ui.password1Container.hidden;
- state.checkHidden = ui.checkboxContainer.hidden;
- state.checkMsg = ui.checkbox.label;
- state.checked = ui.checkbox.checked;
- // tab-modal prompts don't have an infoIcon
- state.iconClass = ui.infoIcon ? ui.infoIcon.className : null;
- state.textValue = ui.loginTextbox.getAttribute("value");
- state.passValue = ui.password1Textbox.getAttribute("value");
-
- state.butt0Label = ui.button0.label;
- state.butt1Label = ui.button1.label;
- state.butt2Label = ui.button2.label;
-
- state.butt0Disabled = ui.button0.disabled;
- state.butt1Disabled = ui.button1.disabled;
- state.butt2Disabled = ui.button2.disabled;
-
- function isDefaultButton(b) {
- return (b.hasAttribute("default") &&
- b.getAttribute("default") == "true");
- }
- state.defButton0 = isDefaultButton(ui.button0);
- state.defButton1 = isDefaultButton(ui.button1);
- state.defButton2 = isDefaultButton(ui.button2);
-
- let fm = Cc["@mozilla.org/focus-manager;1"].
- getService(Ci.nsIFocusManager);
- let e = fm.focusedElement;
-
- if (e == null) {
- state.focused = null;
- } else if (ui.button0.isSameNode(e)) {
- state.focused = "button0";
- } else if (ui.button1.isSameNode(e)) {
- state.focused = "button1";
- } else if (ui.button2.isSameNode(e)) {
- state.focused = "button2";
- } else if (ui.loginTextbox.inputField.isSameNode(e)) {
- state.focused = "textField";
- } else if (ui.password1Textbox.inputField.isSameNode(e)) {
- state.focused = "passField";
- } else if (ui.infoBody.isSameNode(e)) {
- state.focused = "infoBody";
- } else {
- state.focused = "ERROR: unexpected element focused: " + (e ? e.localName : "<null>");
- }
-
- return state;
-}
-
-function dismissSelect(ui, action) {
- let dialog = ui.getElementsByTagName("dialog")[0];
- let listbox = ui.getElementById("list");
-
- if (action.selectItem) {
- listbox.selectedIndex = 1;
- }
-
- if (action.buttonClick == "ok") {
- dialog.acceptDialog();
- } else if (action.buttonClick == "cancel") {
- dialog.cancelDialog();
- }
-}
-
-function dismissPrompt(ui, action) {
- if (action.setCheckbox) {
- // Annoyingly, the prompt code is driven by oncommand.
- ui.checkbox.setChecked(true);
- ui.checkbox.doCommand();
- }
-
- if ("textField" in action) {
- ui.loginTextbox.setAttribute("value", action.textField);
- }
-
- if ("passField" in action) {
- ui.password1Textbox.setAttribute("value", action.passField);
- }
-
- switch (action.buttonClick) {
- case "ok":
- case 0:
- ui.button0.click();
- break;
- case "cancel":
- case 1:
- ui.button1.click();
- break;
- case 2:
- ui.button2.click();
- break;
- case "ESC":
- // XXX This is assuming tab-modal.
- let browserWin = Services.wm.getMostRecentWindow("navigator:browser");
- EventUtils.synthesizeKey("KEY_Escape", { code: "Escape" }, browserWin);
- break;
- case "pollOK":
- // Buttons are disabled at the moment, poll until they're reenabled.
- // Can't use setInterval here, because the window's in a modal state
- // and thus DOM events are suppressed.
- let interval = setInterval(() => {
- if (ui.button0.disabled)
- return;
- ui.button0.click();
- clearInterval(interval);
- }, 100);
- break;
-
- default:
- throw "dismissPrompt action listed unknown button.";
- }
-}
-
-function getDialogDoc() {
- // Trudge through all the open windows, until we find the one
- // that has either commonDialog.xul or selectDialog.xul loaded.
- var wm = Cc["@mozilla.org/appshell/window-mediator;1"].
- getService(Ci.nsIWindowMediator);
- // var enumerator = wm.getEnumerator("navigator:browser");
- var enumerator = wm.getXULWindowEnumerator(null);
-
- while (enumerator.hasMoreElements()) {
- var win = enumerator.getNext();
- var windowDocShell = win.QueryInterface(Ci.nsIXULWindow).docShell;
-
- var containedDocShells = windowDocShell.getDocShellEnumerator(
- Ci.nsIDocShellTreeItem.typeChrome,
- Ci.nsIDocShell.ENUMERATE_FORWARDS);
- while (containedDocShells.hasMoreElements()) {
- // Get the corresponding document for this docshell
- var childDocShell = containedDocShells.getNext();
- // We don't want it if it's not done loading.
- if (childDocShell.busyFlags != Ci.nsIDocShell.BUSY_FLAGS_NONE)
- continue;
- var childDoc = childDocShell.QueryInterface(Ci.nsIDocShell)
- .contentViewer
- .DOMDocument;
-
- if (childDoc.location.href != "chrome://global/content/commonDialog.xul" &&
- childDoc.location.href != "chrome://global/content/selectDialog.xul")
- continue;
-
- // We're expecting the dialog to be focused. If it's not yet, try later.
- // (In particular, this is needed on Linux to reliably check focused elements.)
- let fm = Cc["@mozilla.org/focus-manager;1"].
- getService(Ci.nsIFocusManager);
- if (fm.focusedWindow != childDoc.defaultView)
- continue;
-
- return childDoc;
- }
- }
-
- return null;
-}
diff --git a/toolkit/components/prompts/test/mochitest.ini b/toolkit/components/prompts/test/mochitest.ini
deleted file mode 100644
index 7f87650d6..000000000
--- a/toolkit/components/prompts/test/mochitest.ini
+++ /dev/null
@@ -1,19 +0,0 @@
-[DEFAULT]
-support-files =
- ../../passwordmgr/test/authenticate.sjs
- bug619644_inner.html
- bug625187_iframe.html
- prompt_common.js
- chromeScript.js
-
-[test_bug619644.html]
-[test_bug620145.html]
-skip-if = toolkit == 'android' #TIMED_OUT
-[test_subresources_prompts.html]
-skip-if = toolkit == 'android'
-[test_dom_prompts.html]
-skip-if = toolkit == 'android' #android: bug 1267092
-[test_modal_prompts.html]
-skip-if = toolkit == 'android' || (os == 'linux' && (debug || asan)) #android: TIMED_OUT (For Linux : 950636)
-[test_modal_select.html]
-skip-if = toolkit == 'android' #android: TIMED_OUT
diff --git a/toolkit/components/prompts/test/prompt_common.js b/toolkit/components/prompts/test/prompt_common.js
deleted file mode 100644
index e3a69b347..000000000
--- a/toolkit/components/prompts/test/prompt_common.js
+++ /dev/null
@@ -1,158 +0,0 @@
-const Ci = SpecialPowers.Ci;
-const Cc = SpecialPowers.Cc;
-ok(Ci != null, "Access Ci");
-ok(Cc != null, "Access Cc");
-
-function hasTabModalPrompts() {
- var prefName = "prompts.tab_modal.enabled";
- var Services = SpecialPowers.Cu.import("resource://gre/modules/Services.jsm").Services;
- return Services.prefs.getPrefType(prefName) == Services.prefs.PREF_BOOL &&
- Services.prefs.getBoolPref(prefName);
-}
-var isTabModal = hasTabModalPrompts();
-var isSelectDialog = false;
-var isOSX = ("nsILocalFileMac" in SpecialPowers.Ci);
-var isE10S = SpecialPowers.Services.appinfo.processType == 2;
-
-
-var gChromeScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL("chromeScript.js"));
-SimpleTest.registerCleanupFunction(() => gChromeScript.destroy());
-
-function onloadPromiseFor(id) {
- var iframe = document.getElementById(id);
- return new Promise(resolve => {
- iframe.addEventListener("load", function onload(e) {
- iframe.removeEventListener("load", onload);
- resolve(true);
- });
- });
-}
-
-function handlePrompt(state, action) {
- return new Promise(resolve => {
- gChromeScript.addMessageListener("promptHandled", function handled(msg) {
- gChromeScript.removeMessageListener("promptHandled", handled);
- checkPromptState(msg.promptState, state);
- resolve(true);
- });
- gChromeScript.sendAsyncMessage("handlePrompt", { action: action, isTabModal: isTabModal});
- });
-}
-
-function checkPromptState(promptState, expectedState) {
- // XXX check title? OS X has title in content
- is(promptState.msg, expectedState.msg, "Checking expected message");
- if (isOSX && !isTabModal)
- ok(!promptState.titleHidden, "Checking title always visible on OS X");
- else
- is(promptState.titleHidden, expectedState.titleHidden, "Checking title visibility");
- is(promptState.textHidden, expectedState.textHidden, "Checking textbox visibility");
- is(promptState.passHidden, expectedState.passHidden, "Checking passbox visibility");
- is(promptState.checkHidden, expectedState.checkHidden, "Checking checkbox visibility");
- is(promptState.checkMsg, expectedState.checkMsg, "Checking checkbox label");
- is(promptState.checked, expectedState.checked, "Checking checkbox checked");
- if (!isTabModal)
- is(promptState.iconClass, "spaced " + expectedState.iconClass, "Checking expected icon CSS class");
- is(promptState.textValue, expectedState.textValue, "Checking textbox value");
- is(promptState.passValue, expectedState.passValue, "Checking passbox value");
-
- if (expectedState.butt0Label) {
- is(promptState.butt0Label, expectedState.butt0Label, "Checking accept-button label");
- }
- if (expectedState.butt1Label) {
- is(promptState.butt1Label, expectedState.butt1Label, "Checking cancel-button label");
- }
- if (expectedState.butt2Label) {
- is(promptState.butt2Label, expectedState.butt2Label, "Checking extra1-button label");
- }
-
- // For prompts with a time-delay button.
- if (expectedState.butt0Disabled) {
- is(promptState.butt0Disabled, true, "Checking accept-button is disabled");
- is(promptState.butt1Disabled, false, "Checking cancel-button isn't disabled");
- }
-
- is(promptState.defButton0, expectedState.defButton == "button0", "checking button0 default");
- is(promptState.defButton1, expectedState.defButton == "button1", "checking button1 default");
- is(promptState.defButton2, expectedState.defButton == "button2", "checking button2 default");
-
- if (isOSX && expectedState.focused && expectedState.focused.startsWith("button")) {
- is(promptState.focused, "infoBody", "buttons don't focus on OS X, but infoBody does instead");
- } else {
- is(promptState.focused, expectedState.focused, "Checking focused element");
- }
-}
-
-function checkEchoedAuthInfo(expectedState, doc) {
- // The server echos back the HTTP auth info it received.
- let username = doc.getElementById("user").textContent;
- let password = doc.getElementById("pass").textContent;
- let authok = doc.getElementById("ok").textContent;
-
- is(authok, "PASS", "Checking for successful authentication");
- is(username, expectedState.user, "Checking for echoed username");
- is(password, expectedState.pass, "Checking for echoed password");
-}
-
-/**
- * Create a Proxy to relay method calls on an nsIAuthPrompt[2] prompter to a chrome script which can
- * perform the calls in the parent. Out and inout params will be copied back from the parent to
- * content.
- *
- * @param chromeScript The reference to the chrome script that will listen to `proxyPrompter`
- * messages in the parent and call the `methodName` method.
- * The return value from the message handler should be an object with properties:
- * `rv` - containing the return value of the method call.
- * `args` - containing the array of arguments passed to the method since out or inout ones could have
- * been modified.
- */
-function PrompterProxy(chromeScript) {
- return new Proxy({}, {
- get(target, prop, receiver) {
- return (...args) => {
- // Array of indices of out/inout params to copy from the parent back to the caller.
- let outParams = [];
-
- switch (prop) {
- case "prompt": {
- outParams = [/* result */ 5];
- break;
- }
- case "promptAuth": {
- outParams = [];
- break;
- }
- case "promptPassword": {
- outParams = [/* pwd */ 4];
- break;
- }
- case "promptUsernameAndPassword": {
- outParams = [/* user */ 4, /* pwd */ 5];
- break;
- }
- default: {
- throw new Error("Unknown nsIAuthPrompt method");
- }
- }
-
- let result = chromeScript.sendSyncMessage("proxyPrompter", {
- args,
- methodName: prop,
- })[0][0];
-
- for (let outParam of outParams) {
- // Copy the out or inout param value over the original
- args[outParam].value = result.args[outParam].value;
- }
-
- if (prop == "promptAuth") {
- args[2].username = result.args[2].username;
- args[2].password = result.args[2].password;
- args[2].domain = result.args[2].domain;
- }
-
- return result.rv;
- };
- },
- });
-}
diff --git a/toolkit/components/prompts/test/test_bug619644.html b/toolkit/components/prompts/test/test_bug619644.html
deleted file mode 100644
index 9f61eb18b..000000000
--- a/toolkit/components/prompts/test/test_bug619644.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=619644
--->
-<head>
- <title>Test for Bug 619644</title>
- <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
- <script type="text/javascript" src="prompt_common.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=619644">Mozilla Bug 619644</a>
-<pre id="test">
-<script class="testbody" type="text/javascript">
-// This is a little yucky, but it works
-// The contents of bug619644_inner.html
-const expectedFinalDoc =
-"<head><\/head><body><p>Original content<\/p>\n<script>\n window.opener.postMessage(\"\", \"*\");\n confirm (\"Message\");\n document.write (\"Extra content\");\n window.opener.postMessage(document.documentElement.innerHTML, \"*\");\n<\/script>Extra content<\/body>";
-
-if (!isTabModal) {
- todo(false, "Test disabled when tab modal prompts are not enabled.");
-} else {
- inittest();
-}
-
-var promptDone;
-
-function inittest() {
- window.addEventListener("message", runtest, false);
- window.open("bug619644_inner.html", "619644");
-
- SimpleTest.waitForExplicitFinish();
-}
-
-function runtest(e) {
- window.removeEventListener("message", runtest, false);
- window.addEventListener("message", checktest, false);
-
- let state = {
- msg : "Message",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- let action = {
- buttonClick: "ESC",
- };
-
- promptDone = handlePrompt(state, action);
-}
-
-function checktest(e) {
- is(e.data, expectedFinalDoc, "ESC press should not abort document load");
- e.source.close();
- promptDone.then(endtest);
-}
-
-function endtest() {
- info("Ending test");
- SimpleTest.finish();
-}
-</script>
-</pre>
-</body>
-</html>
diff --git a/toolkit/components/prompts/test/test_bug620145.html b/toolkit/components/prompts/test/test_bug620145.html
deleted file mode 100644
index bb4470259..000000000
--- a/toolkit/components/prompts/test/test_bug620145.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<html>
-<head>
- <title>Test for Bug 620145</title>
- <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
- <script type="text/javascript" src="prompt_common.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=620145">Mozilla Bug 620145</a>
-<pre id="test">
-</pre>
-
-<div id="text" style="max-width: 100px" onmouseup="openAlert()">
- This is a short piece of text used for testing that mouse selecting is
- stopped when an alert appears.
-</div>
-<div id="text2" style="max-width: 100px">
- This is another short piece of text used for testing that mouse selecting is
- stopped when an alert appears.
-</div>
-<button id="button" onmouseup="openAlert()">Button</button>
-
-<script class="testbody" type="text/javascript">
-var selectionTest = false;
-
-function openAlert() {
- info("opening alert...");
- alert("hello!");
- info("...alert done.");
-}
-
-add_task(function* runTest() {
- var state, action;
- // The <button> in this test's HTML opens a prompt when clicked.
- // Here we send the events to simulate clicking it.
- info("isTabModal? " + isTabModal);
- selectionTest = isTabModal;
-
- state = {
- msg : "hello!",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- var button = $("button");
- dispatchMouseEvent(button, "mousedown");
- dispatchMouseEvent(button, "mouseup");
- // alert appears at this point, to be closed by the chrome script.
-
- yield promptDone;
- checkSelection();
-
- // using same state and action.
- promptDone = handlePrompt(state, action);
-
- var text = $("text");
- dispatchMouseEvent(text, "mousedown");
- dispatchMouseEvent(text, "mouseup");
- // alert appears at this point, to be closed by the chrome script.
-
- yield promptDone;
- checkSelection();
-});
-
-function dispatchMouseEvent(target, type)
-{
- var win = target.ownerDocument.defaultView;
- e = document.createEvent("MouseEvent");
- e.initEvent(type, false, false, win, 0, 1, 1, 1, 1,
- false, false, false, false, 0, null);
- var utils = SpecialPowers.getDOMWindowUtils(win);
- utils.dispatchDOMEventViaPresShell(target, e, true);
- ok(true, type + " sent to " + target.id);
-}
-
-function checkSelection()
-{
- if (!selectionTest) {
- todo(false, "Selection test is disabled when tab modal prompts are not enabled.");
- } else {
- synthesizeMouse($("text"), 25, 55, { type: "mousemove" });
- is(window.getSelection().toString(), "", "selection not made");
- }
-}
-</script>
-
-</body>
-</html>
diff --git a/toolkit/components/prompts/test/test_dom_prompts.html b/toolkit/components/prompts/test/test_dom_prompts.html
deleted file mode 100644
index 413ed8fd5..000000000
--- a/toolkit/components/prompts/test/test_dom_prompts.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html>
-<head>
- <title>Test for DOM prompts</title>
- <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
- <script type="text/javascript" src="prompt_common.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-<pre id="test">
-</pre>
-
-<script class="testbody" type="text/javascript">
-var rv;
-var state, action;
-
-add_task(function* test_alert_ok() {
- info("Starting test: Alert");
- state = {
- msg : "This is the alert text.",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- alert("This is the alert text.");
-
- yield promptDone;
-});
-
-// bug 861605 made the arguments to alert/confirm optional (prompt already was).
-add_task(function* test_alert_noargs() {
- info("Starting test: Alert with no args");
- state = {
- msg : "",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- try {
- alert();
- ok(true, "alert() without arguments should not throw!");
- } catch (e) {
- ok(false, "alert() without arguments should not throw!");
- }
-
- yield promptDone;
-});
-
-
-add_task(function* test_confirm_ok() {
- info("Starting test: Confirm");
- state = {
- msg : "This is the confirm text.",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- rv = confirm("This is the confirm text.");
- is(rv, true, "check prompt return value");
-
- yield promptDone;
-});
-
-// bug 861605 made the arguments to alert/confirm optional (prompt already was).
-add_task(function* test_confirm_noargs() {
- info("Starting test: Confirm with no args");
- state = {
- msg : "",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- try {
- rv = confirm();
- ok(true, "confirm() without arguments should not throw!");
- } catch (e) {
- ok(false, "confirm() without arguments should not throw!");
- }
- is(rv, true, "check prompt return value");
-
- yield promptDone;
-});
-
-
-add_task(function* test_prompt_ok() {
- info("Starting test: Prompt");
- state = {
- msg : "This is the Prompt text.",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- rv = prompt("This is the Prompt text.");
- is(rv, "", "check prompt return value");
-
- yield promptDone;
-});
-
-// bug 861605 made the arguments to alert/confirm optional (prompt already was).
-add_task(function* test_prompt_noargs() {
- info("Starting test: Prompt with no args");
- state = {
- msg : "",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- try {
- rv = prompt();
- ok(true, "prompt() without arguments should not throw!");
- } catch (e) {
- ok(false, "prompt() without arguments should not throw!");
- }
- is(rv, "", "check prompt return value");
-
- yield promptDone;
-});
-
-</script>
-
-</body>
-</html>
diff --git a/toolkit/components/prompts/test/test_modal_prompts.html b/toolkit/components/prompts/test/test_modal_prompts.html
deleted file mode 100644
index 42e6be52c..000000000
--- a/toolkit/components/prompts/test/test_modal_prompts.html
+++ /dev/null
@@ -1,1184 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Modal Prompts Test</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
- <script type="text/javascript" src="prompt_common.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-Prompter tests: modal prompts
-<p id="display"></p>
-
-<div id="content" style="display: none">
- <iframe id="iframe"></iframe>
-</div>
-
-<pre id="test">
-<script class="testbody" type="text/javascript;version=1.8">
-
-function* runTests() {
- const { NetUtil } = SpecialPowers.Cu.import('resource://gre/modules/NetUtil.jsm');
- let state, action;
- ok(true, "Running tests (isTabModal=" + isTabModal + ", usePromptService=" + usePromptService + ")");
-
- let prompter, promptArgs;
- if (usePromptService) {
- prompter = Cc["@mozilla.org/embedcomp/prompt-service;1"].
- getService(Ci.nsIPromptService2);
- } else {
- prompter = Cc["@mozilla.org/prompter;1"].
- getService(Ci.nsIPromptFactory).
- getPrompt(window, Ci.nsIPrompt);
- if (isTabModal) {
- let bag = prompter.QueryInterface(Ci.nsIWritablePropertyBag2);
- bag.setPropertyAsBool("allowTabModal", true);
- }
- }
-
- let checkVal = {};
- let textVal = {};
- let passVal = {};
- let flags;
- let isOK, clickedButton;
-
- // =====
- info("Starting test: Alert");
- state = {
- msg : "This is the alert text.",
- title : "TestTitle",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- promptArgs = ["TestTitle", "This is the alert text."];
- if (usePromptService)
- promptArgs.unshift(window);
- prompter.alert.apply(null, promptArgs);
-
- yield promptDone;
-
- // =====
- info("Starting test: AlertCheck (null checkbox label, so it's hidden)");
- state = {
- msg : "This is the alertCheck text.",
- title : "TestTitle",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- promptArgs = ["TestTitle", "This is the alertCheck text.", null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- prompter.alertCheck.apply(null, promptArgs);
-
- yield promptDone;
-
- // =====
- info("Starting test: AlertCheck");
- state = {
- msg : "This is the alertCheck text.",
- title : "TestTitle",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the alertCheck text.", "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- prompter.alertCheck.apply(null, promptArgs);
- is(checkVal.value, true, "checkbox was checked");
-
- yield promptDone;
-
- // =====
- info("Starting test: Confirm (ok)");
- state = {
- msg : "This is the confirm text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- promptArgs = ["TestTitle", "This is the confirm text."];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.confirm.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
-
- yield promptDone;
-
- // =====
- info("Starting test: Confirm (cancel)");
- state = {
- msg : "This is the confirm text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "cancel",
- };
-
- promptDone = handlePrompt(state, action);
-
- promptArgs = ["TestTitle", "This is the confirm text."];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.confirm.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmCheck (ok, null checkbox label)");
- state = {
- msg : "This is the confirmCheck text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- promptArgs = ["TestTitle", "This is the confirmCheck text.", null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.confirmCheck.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmCheck (cancel, null checkbox label)");
- state = {
- msg : "This is the confirmCheck text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "cancel",
- };
-
- promptDone = handlePrompt(state, action);
-
- promptArgs = ["TestTitle", "This is the confirmCheck text.", null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.confirmCheck.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmCheck (ok)");
- state = {
- msg : "This is the confirmCheck text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the confirmCheck text.", "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.confirmCheck.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmCheck (cancel)");
- state = {
- msg : "This is the confirmCheck text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "cancel",
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the confirmCheck text.", "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.confirmCheck.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: Prompt (ok, no default text)");
- state = {
- msg : "This is the prompt text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick : "ok",
- textField : "bacon",
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "";
- promptArgs = ["TestTitle", "This is the prompt text.", textVal, null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.prompt.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
- is(textVal.value, "bacon", "checking expected text value");
-
- yield promptDone;
-
- // =====
- info("Starting test: Prompt (ok, default text)");
- state = {
- msg : "This is the prompt text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : true,
- textValue : "kittens",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "kittens";
- promptArgs = ["TestTitle", "This is the prompt text.", textVal, null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.prompt.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
- is(textVal.value, "kittens", "checking expected text value");
-
- yield promptDone;
-
- // =====
- info("Starting test: Prompt (cancel, default text)");
- state = {
- msg : "This is the prompt text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : true,
- textValue : "puppies",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick: "cancel",
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "puppies";
- promptArgs = ["TestTitle", "This is the prompt text.", textVal, null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.prompt.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
- is(textVal.value, "puppies", "checking expected text value");
-
- yield promptDone;
-
- // =====
- info("Starting test: Prompt (cancel, default text modified)");
- state = {
- msg : "This is the prompt text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : true,
- textValue : "puppies",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick : "cancel",
- textField : "bacon",
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "puppies";
- promptArgs = ["TestTitle", "This is the prompt text.", textVal, null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.prompt.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
- is(textVal.value, "puppies", "checking expected text value");
-
- yield promptDone;
-
- // =====
- info("Starting test: Prompt (ok, with checkbox)");
- state = {
- msg : "This is the prompt text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : false,
- textValue : "tribbles",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "tribbles";
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the prompt text.", textVal, "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.prompt.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
- is(textVal.value, "tribbles", "checking expected text value");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: Prompt (cancel, with checkbox)");
- state = {
- msg : "This is the prompt text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : true,
- checkHidden : false,
- textValue : "tribbles",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick: "cancel",
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "tribbles";
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the prompt text.", textVal, "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.prompt.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
- is(textVal.value, "tribbles", "checking expected text value");
- is(checkVal.value, false, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- // Just two tests for this, since password manager already tests this extensively.
- info("Starting test: PromptUsernameAndPassword (ok)");
- state = {
- msg : "This is the pUAP text.",
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : false,
- textValue : "usr",
- passValue : "ssh",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- setCheckbox: true,
- textField: "newusr",
- passField: "newssh",
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "usr";
- passVal.value = "ssh";
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the pUAP text.", textVal, passVal, "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.promptUsernameAndPassword.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
- is(textVal.value, "newusr", "checking expected text value");
- is(passVal.value, "newssh", "checking expected pass value");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: PromptUsernameAndPassword (cancel)");
- state = {
- msg : "This is the pUAP text.",
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : false,
- textValue : "usr",
- passValue : "ssh",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick : "cancel",
- setCheckbox : true,
- textField : "newusr",
- passField : "newssh",
- };
-
- promptDone = handlePrompt(state, action);
-
- textVal.value = "usr";
- passVal.value = "ssh";
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the pUAP text.", textVal, passVal, "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.promptUsernameAndPassword.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
- is(textVal.value, "usr", "checking expected text value");
- is(passVal.value, "ssh", "checking expected pass value");
- is(checkVal.value, false, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: PromptPassword (ok)");
- state = {
- msg : "This is the promptPassword text.",
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : false,
- checkHidden : false,
- textValue : "",
- passValue : "ssh",
- checkMsg : "Check me out!",
- checked : false,
- focused : "passField",
- defButton : "button0",
- };
- action = {
- buttonClick : "ok",
- setCheckbox : true,
- passField : "newssh",
- };
-
- promptDone = handlePrompt(state, action);
-
- passVal.value = "ssh";
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the promptPassword text.", passVal, "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.promptPassword.apply(null, promptArgs);
- is(isOK, true, "checked expected retval");
- is(passVal.value, "newssh", "checking expected pass value");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: PromptPassword (cancel)");
- state = {
- msg : "This is the promptPassword text.",
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : false,
- checkHidden : false,
- textValue : "",
- passValue : "ssh",
- checkMsg : "Check me out!",
- checked : false,
- focused : "passField",
- defButton : "button0",
- };
- action = {
- buttonClick : "cancel",
- setCheckbox : true,
- passField : "newssh",
- };
-
- promptDone = handlePrompt(state, action);
-
- passVal.value = "ssh";
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the promptPassword text.", passVal, "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- isOK = prompter.promptPassword.apply(null, promptArgs);
- is(isOK, false, "checked expected retval");
- is(passVal.value, "ssh", "checking expected pass value");
- is(checkVal.value, false, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmEx (ok/cancel, ok)");
- state = {
- msg : "This is the confirmEx text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- butt0Label : "OK",
- butt1Label : "Cancel",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- flags = Ci.nsIPromptService.STD_OK_CANCEL_BUTTONS;
- promptArgs = ["TestTitle", "This is the confirmEx text.", flags, null, null, null, null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- clickedButton = prompter.confirmEx.apply(null, promptArgs);
- is(clickedButton, 0, "checked expected button num click");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmEx (yes/no, cancel)");
- state = {
- msg : "This is the confirmEx text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- butt0Label : "Yes",
- butt1Label : "No",
- };
- action = {
- buttonClick: "cancel",
- };
-
- promptDone = handlePrompt(state, action);
-
- flags = Ci.nsIPromptService.STD_YES_NO_BUTTONS;
- promptArgs = ["TestTitle", "This is the confirmEx text.", flags, null, null, null, null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- clickedButton = prompter.confirmEx.apply(null, promptArgs);
- is(clickedButton, 1, "checked expected button num click");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmEx (buttons from args, checkbox, ok)");
- state = {
- msg : "This is the confirmEx text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "button0",
- defButton : "button0",
- butt0Label : "butt0",
- butt1Label : "butt1",
- butt2Label : "butt2",
- };
- action = {
- buttonClick: "ok",
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- let b = Ci.nsIPromptService.BUTTON_TITLE_IS_STRING;
- flags = b * Ci.nsIPromptService.BUTTON_POS_2 +
- b * Ci.nsIPromptService.BUTTON_POS_1 +
- b * Ci.nsIPromptService.BUTTON_POS_0;
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the confirmEx text.", flags,
- "butt0", "butt1", "butt2", "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- clickedButton = prompter.confirmEx.apply(null, promptArgs);
- is(clickedButton, 0, "checked expected button num click");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmEx (buttons from args, checkbox, cancel)");
- state = {
- msg : "This is the confirmEx text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "button1", // Default changed!
- defButton : "button1",
- butt0Label : "butt0",
- butt1Label : "butt1",
- butt2Label : "butt2",
- };
- action = {
- buttonClick: "cancel",
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- b = Ci.nsIPromptService.BUTTON_TITLE_IS_STRING;
- flags = b * Ci.nsIPromptService.BUTTON_POS_2 +
- b * Ci.nsIPromptService.BUTTON_POS_1 +
- b * Ci.nsIPromptService.BUTTON_POS_0;
- flags ^= Ci.nsIPromptService.BUTTON_POS_1_DEFAULT;
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the confirmEx text.", flags,
- "butt0", "butt1", "butt2", "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- clickedButton = prompter.confirmEx.apply(null, promptArgs);
- is(clickedButton, 1, "checked expected button num click");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- info("Starting test: ConfirmEx (buttons from args, checkbox, button3)");
- state = {
- msg : "This is the confirmEx text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "button2", // Default changed!
- defButton : "button2",
- butt0Label : "butt0",
- butt1Label : "butt1",
- butt2Label : "butt2",
- };
- action = {
- buttonClick: 2,
- setCheckbox: true,
- };
-
- promptDone = handlePrompt(state, action);
-
- b = Ci.nsIPromptService.BUTTON_TITLE_IS_STRING;
- flags = b * Ci.nsIPromptService.BUTTON_POS_2 +
- b * Ci.nsIPromptService.BUTTON_POS_1 +
- b * Ci.nsIPromptService.BUTTON_POS_0;
- flags ^= Ci.nsIPromptService.BUTTON_POS_2_DEFAULT;
- checkVal.value = false;
- promptArgs = ["TestTitle", "This is the confirmEx text.", flags,
- "butt0", "butt1", "butt2", "Check me out!", checkVal];
- if (usePromptService)
- promptArgs.unshift(window);
- clickedButton = prompter.confirmEx.apply(null, promptArgs);
- is(clickedButton, 2, "checked expected button num click");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
-
- // =====
- // (skipped for E10S and tabmodal tests: window is required)
- info("Starting test: Alert, no window");
- state = {
- msg : "This is the alert text.",
- title : "TestTitle",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
- if (!isTabModal && !isE10S) {
- promptDone = handlePrompt(state, action);
-
- promptArgs = ["TestTitle", "This is the alert text."];
- if (usePromptService)
- promptArgs.unshift(null);
- prompter.alert.apply(null, promptArgs);
-
- yield promptDone;
- }
-
-
- // =====
- // (skipped for tabmodal tests: delay not supported)
- info("Starting test: ConfirmEx (delay, ok)");
- state = {
- msg : "This is the confirmEx delay text.",
- title : "TestTitle",
- iconClass : "question-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : null, // nothing focused until after delay fires
- defButton : "button0",
- butt0Label : "OK",
- butt1Label : "Cancel",
- butt0Disabled: true,
- };
-
- // OS X doesn't initially focus the button, but rather the infoBody.
- // The focus stays there even after the button-enable delay has fired.
- if (isOSX)
- state.focused = "infoBody";
-
- action = {
- buttonClick: "pollOK",
- };
- if (!isTabModal) {
- promptDone = handlePrompt(state, action);
-
- flags = (Ci.nsIPromptService.STD_OK_CANCEL_BUTTONS | Ci.nsIPromptService.BUTTON_DELAY_ENABLE);
- promptArgs = ["TestTitle", "This is the confirmEx delay text.", flags, null, null, null, null, {}];
- if (usePromptService)
- promptArgs.unshift(window);
- clickedButton = prompter.confirmEx.apply(null, promptArgs);
- is(clickedButton, 0, "checked expected button num click");
-
- yield promptDone;
- }
-
- // promptAuth already tested via password manager but do a few specific things here.
- var channel = NetUtil.newChannel({
- uri: "http://example.com",
- loadUsingSystemPrincipal: true
- });
-
- var level = Ci.nsIAuthPrompt2.LEVEL_NONE;
- var authinfo = {
- username : "",
- password : "",
- domain : "",
- flags : Ci.nsIAuthInformation.AUTH_HOST,
- authenticationScheme : "basic",
- realm : ""
- };
-
-
- // =====
- // (promptAuth is only accessible from the prompt service)
- info("Starting test: promptAuth with empty realm");
- state = {
- msg : 'http://example.com is requesting your username and password.',
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick : "ok",
- setCheckbox : true,
- textField : "username",
- passField : "password",
- };
- if (usePromptService) {
- promptDone = handlePrompt(state, action);
-
- checkVal.value = false;
- isOK = prompter.promptAuth(window, channel, level, authinfo, "Check me out!", checkVal);
- is(isOK, true, "checked expected retval");
- is(authinfo.username, "username", "checking filled username");
- is(authinfo.password, "password", "checking filled password");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
- }
-
-
- // =====
- // (promptAuth is only accessible from the prompt service)
- info("Starting test: promptAuth with long realm");
- state = {
- msg : 'http://example.com is requesting your username and password. The site ' +
- 'says: \u201cabcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi ' +
- 'abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi ' +
- 'abcdefghi \u2026\u201d',
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick : "ok",
- setCheckbox : true,
- textField : "username",
- passField : "password",
- };
- if (usePromptService) {
- promptDone = handlePrompt(state, action);
-
- checkVal.value = false;
- var longString = "";
- for (var i = 0; i < 20; i++)
- longString += "abcdefghi "; // 200 chars long
- authinfo.realm = longString;
- authinfo.username = "";
- authinfo.password = "";
- isOK = prompter.promptAuth(window, channel, level, authinfo, "Check me out!", checkVal);
- is(isOK, true, "checked expected retval");
- is(authinfo.username, "username", "checking filled username");
- is(authinfo.password, "password", "checking filled password");
- is(checkVal.value, true, "expected checkbox setting");
-
- yield promptDone;
- }
-
- info("Starting test: promptAuth for a cross-origin and a empty realm");
- authinfo = {
- username : "",
- password : "",
- domain : "",
- flags : Ci. nsIAuthInformation.AUTH_HOST |
- Ci.nsIAuthInformation.CROSS_ORIGIN_SUB_RESOURCE,
- authenticationScheme : "basic",
- realm : ""
- }
- state = {
- msg : 'http://example.com is requesting your username and password. ' +
- 'WARNING: Your password will not be sent to the website you are currently visiting!',
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick : "ok",
- setCheckbox : false,
- textField : "username",
- passField : "password",
- };
- if (usePromptService) {
- promptDone = handlePrompt(state, action);
- checkVal.value = false;
- isOK = prompter.promptAuth(window, channel, level, authinfo, "Check me out!", checkVal);
- is(isOK, true, "checked expected retval");
- is(authinfo.username, "username", "checking filled username");
- is(authinfo.password, "password", "checking filled password");
- is(checkVal.value, false, "expected checkbox setting");
-
- yield promptDone;
- }
-
- info("Starting test: promptAuth for a cross-origin with realm");
- authinfo = {
- username : "",
- password : "",
- domain : "",
- flags : Ci. nsIAuthInformation.AUTH_HOST | Ci.nsIAuthInformation.CROSS_ORIGIN_SUB_RESOURCE,
- authenticationScheme : "basic",
- realm : "Something!!!"
- }
- state = {
- msg : 'http://example.com is requesting your username and password. ' +
- 'WARNING: Your password will not be sent to the website you are currently visiting!',
- title : "TestTitle",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : false,
- textValue : "",
- passValue : "",
- checkMsg : "Check me out!",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
- action = {
- buttonClick : "ok",
- setCheckbox : false,
- textField : "username",
- passField : "password",
- };
- if (usePromptService) {
- promptDone = handlePrompt(state, action);
-
- checkVal.value = false;
- isOK = prompter.promptAuth(window, channel, level, authinfo, "Check me out!", checkVal);
- is(isOK, true, "checked expected retval");
- is(authinfo.username, "username", "checking filled username");
- is(authinfo.password, "password", "checking filled password");
- is(checkVal.value, false, "expected checkbox setting");
-
- yield promptDone;
- }
-}
-
-let usePromptService;
-
-/*
- * Run the body of the 3 times:
- * - 1st pass: with window-modal prompts, using nsIPromptService
- * - 2nd pass: still window-modal, using nsIPrompt directly (via nsIPromptFactory)
- * - 3rd pass: with tab-modal prompts. Can't opt into these via * nsIPromptService.
- */
-
-add_task(function* runPromptTests() {
- info("Process type: " + SpecialPowers.Services.appinfo.processType);
-
- isTabModal = false; usePromptService = true;
- info("Running tests with: isTabModal=" + isTabModal + ", usePromptService=" + usePromptService);
- yield* runTests();
-
- isTabModal = false; usePromptService = false;
- info("Running tests with: isTabModal=" + isTabModal + ", usePromptService=" + usePromptService);
- yield* runTests();
-
- if (SpecialPowers.getBoolPref("prompts.tab_modal.enabled")) {
- isTabModal = true; usePromptService = false;
- info("Running tests with: isTabModal=" + isTabModal + ", usePromptService=" + usePromptService);
- yield* runTests();
- }
-});
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/toolkit/components/prompts/test/test_modal_select.html b/toolkit/components/prompts/test/test_modal_select.html
deleted file mode 100644
index 1e008d0f4..000000000
--- a/toolkit/components/prompts/test/test_modal_select.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Modal Prompts Test</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
- <script type="text/javascript" src="prompt_common.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-Prompter tests: modal prompts
-<p id="display"></p>
-
-<div id="content" style="display: none">
- <iframe id="iframe"></iframe>
-</div>
-
-<pre id="test">
-<script class="testbody" type="text/javascript;version=1.8">
-
-let prompter = Cc["@mozilla.org/embedcomp/prompt-service;1"].
- getService(Ci.nsIPromptService2);
-
-function checkPromptState(promptState, expectedState) {
- // XXX check title? OS X has title in content
- // XXX check focused element
- // XXX check button labels?
-
- is(promptState.msg, expectedState.msg, "Checking expected message");
-
- // Compare listbox contents
- is(promptState.items.length, expectedState.items.length, "Checking listbox length");
-
- if (promptState.items.length)
- is(promptState.selectedIndex, 0, "Checking selected index");
-
- for (let i = 0; i < promptState.items; i++) {
- is(promptState.items[i], expectedState.items[i], "Checking list item #" + i);
- }
-}
-
-let selectVal = {};
-let isOK;
-let state, action;
-
-function handlePrompt(state, action) {
- return new Promise(resolve => {
- gChromeScript.addMessageListener("promptHandled", function handled(msg) {
- gChromeScript.removeMessageListener("promptHandled", handled);
- checkPromptState(msg.promptState, state);
- resolve(true);
- });
- gChromeScript.sendAsyncMessage("handlePrompt", { action: action, isSelect: true});
- });
-}
-
-
-// =====
-add_task(function* test_select_empty_list() {
- info("Starting test: Select (0 items, ok)");
- state = {
- msg : "This is the select text.",
- title : "TestTitle",
- items : [],
- };
- action = {
- buttonClick: "ok",
- };
- promptDone = handlePrompt(state, action);
- items = [];
- selectVal.value = null; // outparam, just making sure.
- isOK = prompter.select(window, "TestTitle", "This is the select text.", items.length, items, selectVal);
- is(isOK, true, "checked expected retval");
- is(selectVal.value, -1, "checking selected index");
-
- yield promptDone;
-});
-
-// =====
-add_task(function* test_select_ok() {
- info("Starting test: Select (3 items, ok)");
- state = {
- msg : "This is the select text.",
- title : "TestTitle",
- items : ["one", "two", "three"],
- };
- action = {
- buttonClick: "ok",
- };
- promptDone = handlePrompt(state, action);
- items = ["one", "two", "three"];
- selectVal.value = null; // outparam, just making sure.
- isOK = prompter.select(window, "TestTitle", "This is the select text.", items.length, items, selectVal);
- is(isOK, true, "checked expected retval");
- is(selectVal.value, 0, "checking selected index");
-
- yield promptDone;
-});
-
-// =====
-add_task(function* test_select_item() {
- info("Starting test: Select (3 items, selection changed, ok)");
- state = {
- msg : "This is the select text.",
- title : "TestTitle",
- items : ["one", "two", "three"],
- };
- action = {
- buttonClick: "ok",
- selectItem: 1,
- };
- promptDone = handlePrompt(state, action);
- items = ["one", "two", "three"];
- selectVal.value = null; // outparam, just making sure.
- isOK = prompter.select(window, "TestTitle", "This is the select text.", items.length, items, selectVal);
- is(isOK, true, "checked expected retval");
- is(selectVal.value, 1, "checking selected index");
-
- yield promptDone;
-});
-
-// =====
-add_task(function* test_cancel_prompt() {
- info("Starting test: Select (3 items, cancel)");
- state = {
- msg : "This is the select text.",
- title : "TestTitle",
- items : ["one", "two", "three"],
- };
- action = {
- buttonClick: "cancel",
- };
- promptDone = handlePrompt(state, action);
- items = ["one", "two", "three"];
- selectVal.value = null; // outparam, just making sure.
- isOK = prompter.select(window, "TestTitle", "This is the select text.", items.length, items, selectVal);
- is(isOK, false, "checked expected retval");
- is(selectVal.value, 0, "checking selected index");
-
- yield promptDone;
-});
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/toolkit/components/prompts/test/test_subresources_prompts.html b/toolkit/components/prompts/test/test_subresources_prompts.html
deleted file mode 100644
index 241ce430f..000000000
--- a/toolkit/components/prompts/test/test_subresources_prompts.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<html>
-<head>
- <title>Test subresources prompts (Bug 625187 and bug 1230462)</title>
- <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
- <script type="text/javascript" src="prompt_common.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<!--
- - Any copyright is dedicated to the Public Domain.
- - http://creativecommons.org/publicdomain/zero/1.0/
- -
- - Contributor(s):
- - Mihai Sucan <mihai.sucan@gmail.com>
- -->
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=625187">Mozilla Bug 625187</a>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1230462">Mozilla Bug 1230462</a>
-
-<p><button onclick="alert('hello world')">Button</button></p>
-
-<iframe id="iframe_diff_origin" src="http://example.com/tests/toolkit/components/prompts/test/bug625187_iframe.html"></iframe>
-
-<iframe id="iframe_same_origin" src="bug625187_iframe.html"></iframe>
-
-<iframe id="iframe_prompt"></iframe>
-
-<pre id="test"></pre>
-
-<script class="testbody" type="text/javascript">
-var iframe1Loaded = onloadPromiseFor("iframe_diff_origin");
-var iframe2Loaded = onloadPromiseFor("iframe_same_origin");
-var iframe_prompt = document.getElementById("iframe_prompt");
-
-add_task(function* runTest()
-{
- // This test depends on tab modal prompts being enabled.
- if (!isTabModal) {
- todo(false, "Test disabled when tab modal prompts are not enabled.");
- return;
- }
-
- info("Ensuring iframe1 has loaded...");
- yield iframe1Loaded;
- info("Ensuring iframe2 has loaded...");
- yield iframe2Loaded;
- let state, action;
-
- state = {
- msg : "hello world",
- iconClass : "alert-icon",
- titleHidden : true,
- textHidden : true,
- passHidden : true,
- checkHidden : true,
- textValue : "",
- passValue : "",
- checkMsg : "",
- checked : false,
- focused : "button0",
- defButton : "button0",
- };
- action = {
- buttonClick: "ok",
- };
-
- promptDone = handlePrompt(state, action);
-
- var button = document.querySelector("button");
- dispatchMouseEvent(button, "click");
-
- yield promptDone;
-
-
- // mostly reusing same state/action
- state.titleHidden = false;
- state.msg = "hello world 2";
- promptDone = handlePrompt(state, action);
-
- var iframe = document.getElementById("iframe_diff_origin");
- button = SpecialPowers.wrap(iframe.contentWindow).document.getElementById("btn1");
- dispatchMouseEvent(button, "click");
-
- yield promptDone;
-
-
- // mostly reusing same state/action
- state.titleHidden = true;
- state.msg = "hello world 2";
- promptDone = handlePrompt(state, action);
-
- iframe = document.getElementById("iframe_same_origin");
- button = iframe.contentWindow.document.getElementById("btn1");
- dispatchMouseEvent(button, "click");
-
- yield promptDone;
-
-
- // mostly reusing same state/action
- state.msg = "hello world 3";
- promptDone = handlePrompt(state, action);
-
- button = iframe.contentWindow.document.getElementById("btn2");
- dispatchMouseEvent(button, "click");
-
- yield promptDone;
-});
-
-add_task(function* runTestAuth()
-{
- // Following tests chack prompt message for a cross-origin and not
- // cross-origin subresources load
-
- // Force parent to not look for tab-modal prompts, as they're not
- // used for auth prompts.
- isTabModal = false;
-
- state = {
- msg : "http://mochi.test:8888 is requesting your username " +
- "and password. The site says: “mochitest”",
- title : "Authentication Required",
- textValue : "",
- passValue : "",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : true,
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
-
- action = {
- buttonClick : "ok",
- setCheckbox : false,
- textField : "mochiuser1",
- passField : "mochipass1",
- };
-
- promptDone = handlePrompt(state, action);
-
- var iframe3Loaded = onloadPromiseFor("iframe_prompt");
- iframe_prompt.src = "authenticate.sjs?user=mochiuser1&pass=mochipass1";
- yield promptDone;
- yield iframe3Loaded;
- checkEchoedAuthInfo({user: "mochiuser1", pass: "mochipass1"},
- iframe_prompt.contentDocument);
-
- // Cross-origin subresourse test.
-
- // Force parent to not look for tab-modal prompts, as they're not used for auth prompts.
- isTabModal =false;
- state = {
- msg : "http://example.com is requesting your username and password. " +
- "WARNING: Your password will not be sent to the website you are currently visiting!",
- title : "Authentication Required",
- textValue : "",
- passValue : "",
- iconClass : "authentication-icon question-icon",
- titleHidden : true,
- textHidden : false,
- passHidden : false,
- checkHidden : true,
- checkMsg : "",
- checked : false,
- focused : "textField",
- defButton : "button0",
- };
-
- action = {
- buttonClick : "ok",
- setCheckbox : false,
- textField : "mochiuser2",
- passField : "mochipass2",
- };
-
- promptDone = handlePrompt(state, action);
-
- iframe3Loaded = onloadPromiseFor("iframe_prompt");
- iframe_prompt.src = "http://example.com/tests/toolkit/components/prompts/test/authenticate.sjs?user=mochiuser2&pass=mochipass2&realm=mochitest";
- yield promptDone;
- yield iframe3Loaded;
- checkEchoedAuthInfo({user: "mochiuser2", pass: "mochipass2"},
- SpecialPowers.wrap(iframe_prompt.contentWindow).document);
-});
-
-function dispatchMouseEvent(target, type)
-{
- var win = SpecialPowers.unwrap(target.ownerDocument.defaultView);
- var e = document.createEvent("MouseEvent");
- e.initEvent(type, false, false, win, 0, 1, 1, 1, 1,
- false, false, false, false, 0, null);
- var utils = SpecialPowers.getDOMWindowUtils(win);
- utils.dispatchDOMEventViaPresShell(SpecialPowers.unwrap(target), e, true);
-}
-</script>
-</body>
-</html>