fune/toolkit/components/extensions/test/xpcshell/test_ext_manifest_themes.js
Rob Wu 64ad4811f6 Bug 1570715 - Treat (deprecation) warnings as errors r=rpl
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
2019-09-16 16:35:59 +00:00

35 lines
1 KiB
JavaScript

/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
async function test_theme_property(property) {
let normalized = await ExtensionTestUtils.normalizeManifest(
{
theme: {
[property]: {},
},
},
"manifest.ThemeManifest"
);
if (property === "unrecognized_key") {
const expectedWarning = `Warning processing theme.${property}`;
ok(
normalized.errors[0].includes(expectedWarning),
`The manifest warning ${JSON.stringify(
normalized.errors[0]
)} must contain ${JSON.stringify(expectedWarning)}`
);
} else {
equal(normalized.errors.length, 0, "Should have a warning");
}
equal(normalized.error, undefined, "Should not have an error");
}
add_task(async function test_manifest_themes() {
await test_theme_property("images");
await test_theme_property("colors");
ExtensionTestUtils.failOnSchemaWarnings(false);
await test_theme_property("unrecognized_key");
ExtensionTestUtils.failOnSchemaWarnings(true);
});