diff options
Diffstat (limited to 'toolkit/components/viewsource/test/browser/browser_viewsourceprefs.js')
-rw-r--r-- | toolkit/components/viewsource/test/browser/browser_viewsourceprefs.js | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/toolkit/components/viewsource/test/browser/browser_viewsourceprefs.js b/toolkit/components/viewsource/test/browser/browser_viewsourceprefs.js deleted file mode 100644 index 7361a70a5..000000000 --- a/toolkit/components/viewsource/test/browser/browser_viewsourceprefs.js +++ /dev/null @@ -1,136 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -var plaintextURL = "data:text/plain,hello+world"; -var htmlURL = "about:mozilla"; - -add_task(function* setup() { - registerCleanupFunction(function() { - SpecialPowers.clearUserPref("view_source.tab_size"); - SpecialPowers.clearUserPref("view_source.wrap_long_lines"); - SpecialPowers.clearUserPref("view_source.syntax_highlight"); - }); -}); - -add_task(function*() { - yield exercisePrefs(plaintextURL, false); - yield exercisePrefs(htmlURL, true); -}); - -var exercisePrefs = Task.async(function* (source, highlightable) { - let win = yield loadViewSourceWindow(source); - let wrapMenuItem = win.document.getElementById("menu_wrapLongLines"); - let syntaxMenuItem = win.document.getElementById("menu_highlightSyntax"); - - // Strip checked="false" attributes, since we're not interested in them. - if (wrapMenuItem.getAttribute("checked") == "false") { - wrapMenuItem.removeAttribute("checked"); - } - if (syntaxMenuItem.getAttribute("checked") == "false") { - syntaxMenuItem.removeAttribute("checked"); - } - - // Test the default states of these menu items. - is(wrapMenuItem.hasAttribute("checked"), false, - "Wrap menu item not checked by default"); - is(syntaxMenuItem.hasAttribute("checked"), true, - "Syntax menu item checked by default"); - - yield checkStyle(win, "-moz-tab-size", 4); - yield checkStyle(win, "white-space", "pre"); - - // Next, test that the Wrap Long Lines menu item works. - let prefReady = waitForPrefChange("view_source.wrap_long_lines"); - simulateClick(wrapMenuItem); - is(wrapMenuItem.hasAttribute("checked"), true, "Wrap menu item checked"); - yield prefReady; - is(SpecialPowers.getBoolPref("view_source.wrap_long_lines"), true, "Wrap pref set"); - - yield checkStyle(win, "white-space", "pre-wrap"); - - prefReady = waitForPrefChange("view_source.wrap_long_lines"); - simulateClick(wrapMenuItem); - is(wrapMenuItem.hasAttribute("checked"), false, "Wrap menu item unchecked"); - yield prefReady; - is(SpecialPowers.getBoolPref("view_source.wrap_long_lines"), false, "Wrap pref set"); - yield checkStyle(win, "white-space", "pre"); - - // Check that the Syntax Highlighting menu item works. - prefReady = waitForPrefChange("view_source.syntax_highlight"); - simulateClick(syntaxMenuItem); - is(syntaxMenuItem.hasAttribute("checked"), false, "Syntax menu item unchecked"); - yield prefReady; - is(SpecialPowers.getBoolPref("view_source.syntax_highlight"), false, "Syntax highlighting pref set"); - yield checkHighlight(win, false); - - prefReady = waitForPrefChange("view_source.syntax_highlight"); - simulateClick(syntaxMenuItem); - is(syntaxMenuItem.hasAttribute("checked"), true, "Syntax menu item checked"); - yield prefReady; - is(SpecialPowers.getBoolPref("view_source.syntax_highlight"), true, "Syntax highlighting pref set"); - yield checkHighlight(win, highlightable); - yield BrowserTestUtils.closeWindow(win); - - // Open a new view-source window to check that the prefs are obeyed. - SpecialPowers.setIntPref("view_source.tab_size", 2); - SpecialPowers.setBoolPref("view_source.wrap_long_lines", true); - SpecialPowers.setBoolPref("view_source.syntax_highlight", false); - - win = yield loadViewSourceWindow(source); - wrapMenuItem = win.document.getElementById("menu_wrapLongLines"); - syntaxMenuItem = win.document.getElementById("menu_highlightSyntax"); - - // Strip checked="false" attributes, since we're not interested in them. - if (wrapMenuItem.getAttribute("checked") == "false") { - wrapMenuItem.removeAttribute("checked"); - } - if (syntaxMenuItem.getAttribute("checked") == "false") { - syntaxMenuItem.removeAttribute("checked"); - } - - is(wrapMenuItem.hasAttribute("checked"), true, "Wrap menu item checked"); - is(syntaxMenuItem.hasAttribute("checked"), false, "Syntax menu item unchecked"); - yield checkStyle(win, "-moz-tab-size", 2); - yield checkStyle(win, "white-space", "pre-wrap"); - yield checkHighlight(win, false); - - SpecialPowers.clearUserPref("view_source.tab_size"); - SpecialPowers.clearUserPref("view_source.wrap_long_lines"); - SpecialPowers.clearUserPref("view_source.syntax_highlight"); - - yield BrowserTestUtils.closeWindow(win); -}); - -// Simulate a menu item click, including toggling the checked state. -// This saves us from opening the menu and trying to click on the item, -// which doesn't work on Mac OS X. -function simulateClick(aMenuItem) { - if (aMenuItem.hasAttribute("checked")) - aMenuItem.removeAttribute("checked"); - else - aMenuItem.setAttribute("checked", "true"); - - aMenuItem.click(); -} - -var checkStyle = Task.async(function* (win, styleProperty, expected) { - let browser = win.gBrowser; - let value = yield ContentTask.spawn(browser, styleProperty, function* (styleProperty) { - let style = content.getComputedStyle(content.document.body, null); - return style.getPropertyValue(styleProperty); - }); - is(value, expected, "Correct value of " + styleProperty); -}); - -var checkHighlight = Task.async(function* (win, expected) { - let browser = win.gBrowser; - let highlighted = yield ContentTask.spawn(browser, {}, function* () { - let spans = content.document.getElementsByTagName("span"); - return Array.some(spans, (span) => { - let style = content.getComputedStyle(span, null); - return style.getPropertyValue("color") !== "rgb(0, 0, 0)"; - }); - }); - is(highlighted, expected, "Syntax highlighting " + (expected ? "on" : "off")); -}); |