forked from mirrors/gecko-dev
Depends on D17054 The previous version only relied on a manifest, but it's not really flexible. The XPI approach allows to define background scripts, which can be useful for more tests. Note: the old about:debugging supports both the manifest and the XPI approaches but we should try to keep only one here to make it less complicated to write new tests. Differential Revision: https://phabricator.services.mozilla.com/D17055 --HG-- extra : moz-landing-system : lando
37 lines
1.3 KiB
JavaScript
37 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/* import-globals-from helper-addons.js */
|
|
Services.scriptloader.loadSubScript(CHROME_URL_ROOT + "helper-addons.js", this);
|
|
|
|
// Test that extension warnings are displayed in about:debugging.
|
|
add_task(async function() {
|
|
const EXTENSION_NAME = "Temporary web extension";
|
|
const EXTENSION_ID = "test-devtools@mozilla.org";
|
|
|
|
const { document, tab } = await openAboutDebugging();
|
|
|
|
await installTemporaryExtensionFromXPI({
|
|
id: EXTENSION_ID,
|
|
name: EXTENSION_NAME,
|
|
extraProperties: {
|
|
// This property is not expected in the manifest and should trigger a warning!
|
|
"wrongProperty": {},
|
|
},
|
|
}, document);
|
|
|
|
info("Wait until a debug target item appears");
|
|
await waitUntil(() => findDebugTargetByText(EXTENSION_NAME, document));
|
|
const target = findDebugTargetByText(EXTENSION_NAME, document);
|
|
|
|
const warningMessage = target.querySelector(".js-message");
|
|
ok(!!warningMessage, "A warning message is displayed for the installed addon");
|
|
|
|
const warningText = warningMessage.textContent;
|
|
ok(warningText.includes("wrongProperty"), "The warning message mentions wrongProperty");
|
|
|
|
await removeTemporaryExtension(EXTENSION_NAME, document);
|
|
await removeTab(tab);
|
|
});
|