diff options
Diffstat (limited to 'toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js')
-rw-r--r-- | toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js b/toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js new file mode 100644 index 0000000000..4293e5eb19 --- /dev/null +++ b/toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js @@ -0,0 +1,69 @@ +"use strict"; + +const DEFAULT_THEME_BG_COLOR = "rgb(255, 255, 255)"; +const DEFAULT_THEME_TEXT_COLOR = "rgb(0, 0, 0)"; + +add_task(async function test_deprecated_LWT_properties_ignored() { + // This test uses deprecated theme properties, so warnings are expected. + ExtensionTestUtils.failOnSchemaWarnings(false); + + let extension = ExtensionTestUtils.loadExtension({ + manifest: { + theme: { + images: { + headerURL: "image1.png", + }, + colors: { + accentcolor: ACCENT_COLOR, + textcolor: TEXT_COLOR, + }, + }, + }, + files: { + "image1.png": BACKGROUND, + }, + }); + + await extension.startup(); + + let docEl = window.document.documentElement; + let docStyle = window.getComputedStyle(docEl); + let navigatorStyle = window.getComputedStyle( + docEl.querySelector("#navigator-toolbox") + ); + + Assert.ok(docEl.hasAttribute("lwtheme"), "LWT attribute should be set"); + Assert.ok( + !docEl.hasAttribute("lwtheme-image"), + "LWT image attribute should not be set on deprecated headerURL alias" + ); + Assert.ok( + !docEl.getAttribute("lwtheme-brighttext"), + "LWT text color attribute should not be set on deprecated textcolor alias" + ); + + if (backgroundColorSetOnRoot()) { + let rootCS = window.getComputedStyle(docEl); + Assert.equal( + rootCS.backgroundColor, + DEFAULT_THEME_BG_COLOR, + "Expected default theme background color" + ); + } else { + Assert.equal( + navigatorStyle.backgroundColor, + DEFAULT_THEME_BG_COLOR, + "Expected default theme background color" + ); + } + + Assert.equal( + docStyle.color, + DEFAULT_THEME_TEXT_COLOR, + "Expected default theme text color" + ); + + await extension.unload(); + + Assert.ok(!docEl.hasAttribute("lwtheme"), "LWT attribute should not be set"); +}); |