summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/test/xpcshell/test_ext_manifest_themes.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/extensions/test/xpcshell/test_ext_manifest_themes.js')
-rw-r--r--toolkit/components/extensions/test/xpcshell/test_ext_manifest_themes.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_manifest_themes.js b/toolkit/components/extensions/test/xpcshell/test_ext_manifest_themes.js
new file mode 100644
index 0000000000..8cd44f06dc
--- /dev/null
+++ b/toolkit/components/extensions/test/xpcshell/test_ext_manifest_themes.js
@@ -0,0 +1,35 @@
+/* -*- 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);
+});