forked from mirrors/gecko-dev
		
	Add new preference `extensions.webextensions.warnings-as-errors` that defaults to `true` in tests. Tests that expect warnings are modified to briefly flip the pref for the specific part of the test that needs an exception. As part of the refactor, log entries for schema entries that contain `"onError": "warn"` will now be prefixed by "Warning" instead of "Error", to be consistent with the change from bug 1495908. Differential Revision: https://phabricator.services.mozilla.com/D40548 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.5 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, window } = await openAboutDebugging();
 | 
						|
  await selectThisFirefoxPage(document, window.AboutDebugging.store);
 | 
						|
 | 
						|
  await pushPref("extensions.webextensions.warnings-as-errors", false);
 | 
						|
  await installTemporaryExtensionFromXPI(
 | 
						|
    {
 | 
						|
      id: EXTENSION_ID,
 | 
						|
      name: EXTENSION_NAME,
 | 
						|
      extraProperties: {
 | 
						|
        // This property is not expected in the manifest and should trigger a warning!
 | 
						|
        wrongProperty: {},
 | 
						|
      },
 | 
						|
    },
 | 
						|
    document
 | 
						|
  );
 | 
						|
  await SpecialPowers.popPrefEnv();
 | 
						|
 | 
						|
  info("Wait until a debug target item appears");
 | 
						|
  await waitUntil(() => findDebugTargetByText(EXTENSION_NAME, document));
 | 
						|
  const target = findDebugTargetByText(EXTENSION_NAME, document);
 | 
						|
 | 
						|
  const warningMessage = target.querySelector(".qa-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);
 | 
						|
});
 |