mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-11 17:57:32 +09:00
Move WebExtensions enabled Add-ons Manager
This commit is contained in:
parent
d7d16e7fbb
commit
358cd0404a
1100 changed files with 133 additions and 106 deletions
|
|
@ -1,144 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/
|
||||
*/
|
||||
|
||||
const profileDir = gProfD.clone();
|
||||
profileDir.append("extensions");
|
||||
|
||||
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1");
|
||||
startupManager();
|
||||
|
||||
const BOOTSTRAP = String.raw`
|
||||
Components.utils.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
function startup(data) {
|
||||
Services.obs.notifyObservers(null, "test-addon-bootstrap-startup", data.id);
|
||||
}
|
||||
function shutdown(data) {
|
||||
Services.obs.notifyObservers(null, "test-addon-bootstrap-shutdown", data.id);
|
||||
}
|
||||
function install() {}
|
||||
function uninstall() {}
|
||||
`;
|
||||
|
||||
const ADDONS = [
|
||||
{
|
||||
id: "addon1@dependency-test.mozilla.org",
|
||||
dependencies: ["addon2@dependency-test.mozilla.org"],
|
||||
},
|
||||
{
|
||||
id: "addon2@dependency-test.mozilla.org",
|
||||
dependencies: ["addon3@dependency-test.mozilla.org"],
|
||||
},
|
||||
{
|
||||
id: "addon3@dependency-test.mozilla.org",
|
||||
},
|
||||
{
|
||||
id: "addon4@dependency-test.mozilla.org",
|
||||
},
|
||||
{
|
||||
id: "addon5@dependency-test.mozilla.org",
|
||||
dependencies: ["addon2@dependency-test.mozilla.org"],
|
||||
},
|
||||
];
|
||||
|
||||
let addonFiles = [];
|
||||
|
||||
let events = [];
|
||||
add_task(function* setup() {
|
||||
let startupObserver = (subject, topic, data) => {
|
||||
events.push(["startup", data]);
|
||||
};
|
||||
let shutdownObserver = (subject, topic, data) => {
|
||||
events.push(["shutdown", data]);
|
||||
};
|
||||
|
||||
Services.obs.addObserver(startupObserver, "test-addon-bootstrap-startup", false);
|
||||
Services.obs.addObserver(shutdownObserver, "test-addon-bootstrap-shutdown", false);
|
||||
do_register_cleanup(() => {
|
||||
Services.obs.removeObserver(startupObserver, "test-addon-bootstrap-startup");
|
||||
Services.obs.removeObserver(shutdownObserver, "test-addon-bootstrap-shutdown");
|
||||
});
|
||||
|
||||
for (let addon of ADDONS) {
|
||||
Object.assign(addon, {
|
||||
targetApplications: [{
|
||||
id: "xpcshell@tests.mozilla.org",
|
||||
minVersion: "1",
|
||||
maxVersion: "1",
|
||||
}],
|
||||
version: "1.0",
|
||||
name: addon.id,
|
||||
bootstrap: true,
|
||||
});
|
||||
|
||||
addonFiles.push(createTempXPIFile(addon, {"bootstrap.js": BOOTSTRAP}));
|
||||
}
|
||||
});
|
||||
|
||||
add_task(function*() {
|
||||
deepEqual(events, [], "Should have no events");
|
||||
|
||||
yield promiseInstallAllFiles([addonFiles[3]]);
|
||||
|
||||
deepEqual(events, [
|
||||
["startup", ADDONS[3].id],
|
||||
]);
|
||||
|
||||
events.length = 0;
|
||||
|
||||
yield promiseInstallAllFiles([addonFiles[0]]);
|
||||
deepEqual(events, [], "Should have no events");
|
||||
|
||||
yield promiseInstallAllFiles([addonFiles[1]]);
|
||||
deepEqual(events, [], "Should have no events");
|
||||
|
||||
yield promiseInstallAllFiles([addonFiles[2]]);
|
||||
|
||||
deepEqual(events, [
|
||||
["startup", ADDONS[2].id],
|
||||
["startup", ADDONS[1].id],
|
||||
["startup", ADDONS[0].id],
|
||||
]);
|
||||
|
||||
events.length = 0;
|
||||
|
||||
yield promiseInstallAllFiles([addonFiles[2]]);
|
||||
|
||||
deepEqual(events, [
|
||||
["shutdown", ADDONS[0].id],
|
||||
["shutdown", ADDONS[1].id],
|
||||
["shutdown", ADDONS[2].id],
|
||||
|
||||
["startup", ADDONS[2].id],
|
||||
["startup", ADDONS[1].id],
|
||||
["startup", ADDONS[0].id],
|
||||
]);
|
||||
|
||||
events.length = 0;
|
||||
|
||||
yield promiseInstallAllFiles([addonFiles[4]]);
|
||||
|
||||
deepEqual(events, [
|
||||
["startup", ADDONS[4].id],
|
||||
]);
|
||||
|
||||
events.length = 0;
|
||||
|
||||
yield promiseRestartManager();
|
||||
|
||||
deepEqual(events, [
|
||||
["shutdown", ADDONS[4].id],
|
||||
["shutdown", ADDONS[3].id],
|
||||
["shutdown", ADDONS[0].id],
|
||||
["shutdown", ADDONS[1].id],
|
||||
["shutdown", ADDONS[2].id],
|
||||
|
||||
["startup", ADDONS[2].id],
|
||||
["startup", ADDONS[1].id],
|
||||
["startup", ADDONS[0].id],
|
||||
["startup", ADDONS[3].id],
|
||||
["startup", ADDONS[4].id],
|
||||
]);
|
||||
});
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue