mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,84 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
"use strict";
|
||||
|
||||
// Avoid test timeouts that can occur while waiting for the "addon-console-works" message.
|
||||
requestLongerTimeout(2);
|
||||
|
||||
const ADDON_NOBG_ID = "test-devtools-webextension-nobg@mozilla.org";
|
||||
const ADDON_NOBG_NAME = "test-devtools-webextension-nobg";
|
||||
const ADDON_NOBG_PATH = "addons/test-devtools-webextension-nobg/manifest.json";
|
||||
|
||||
const {
|
||||
BrowserToolboxProcess
|
||||
} = Cu.import("resource://devtools/client/framework/ToolboxProcess.jsm", {});
|
||||
|
||||
/**
|
||||
* This test file ensures that the webextension addon developer toolbox:
|
||||
* - the webextension developer toolbox is connected to a fallback page when the
|
||||
* background page is not available (and in the fallback page document body contains
|
||||
* the expected message, which warns the user that the current page is not a real
|
||||
* webextension context);
|
||||
*/
|
||||
add_task(function* testWebExtensionsToolboxNoBackgroundPage() {
|
||||
let {
|
||||
tab, document, debugBtn,
|
||||
} = yield setupTestAboutDebuggingWebExtension(ADDON_NOBG_NAME, ADDON_NOBG_PATH);
|
||||
|
||||
// Be careful, this JS function is going to be executed in the addon toolbox,
|
||||
// which lives in another process. So do not try to use any scope variable!
|
||||
let env = Cc["@mozilla.org/process/environment;1"]
|
||||
.getService(Ci.nsIEnvironment);
|
||||
let testScript = function () {
|
||||
/* eslint-disable no-undef */
|
||||
toolbox.selectTool("inspector")
|
||||
.then(inspector => {
|
||||
return inspector.walker.querySelector(inspector.walker.rootNode, "body");
|
||||
})
|
||||
.then((nodeActor) => {
|
||||
if (!nodeActor) {
|
||||
throw new Error("nodeActor not found");
|
||||
}
|
||||
|
||||
dump("Got a nodeActor\n");
|
||||
|
||||
if (!(nodeActor.inlineTextChild)) {
|
||||
throw new Error("inlineTextChild not found");
|
||||
}
|
||||
|
||||
dump("Got a nodeActor with an inline text child\n");
|
||||
|
||||
let expectedValue = "Your addon does not have any document opened yet.";
|
||||
let actualValue = nodeActor.inlineTextChild._form.nodeValue;
|
||||
|
||||
if (actualValue !== expectedValue) {
|
||||
throw new Error(
|
||||
`mismatched inlineTextchild value: "${actualValue}" !== "${expectedValue}"`
|
||||
);
|
||||
}
|
||||
|
||||
dump("Got the expected inline text content in the selected node\n");
|
||||
return Promise.resolve();
|
||||
})
|
||||
.then(() => toolbox.destroy())
|
||||
.catch((error) => {
|
||||
dump("Error while running code in the browser toolbox process:\n");
|
||||
dump(error + "\n");
|
||||
dump("stack:\n" + error.stack + "\n");
|
||||
});
|
||||
/* eslint-enable no-undef */
|
||||
};
|
||||
env.set("MOZ_TOOLBOX_TEST_SCRIPT", "new " + testScript);
|
||||
registerCleanupFunction(() => {
|
||||
env.set("MOZ_TOOLBOX_TEST_SCRIPT", "");
|
||||
});
|
||||
|
||||
let onToolboxClose = BrowserToolboxProcess.once("close");
|
||||
debugBtn.click();
|
||||
yield onToolboxClose;
|
||||
|
||||
ok(true, "Addon toolbox closed");
|
||||
|
||||
yield uninstallAddon({document, id: ADDON_NOBG_ID, name: ADDON_NOBG_NAME});
|
||||
yield closeAboutDebugging(tab);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue