From 8148615da179fdd60f19018e13b4e94b95609cc6 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sat, 3 Feb 2018 06:00:38 -0500 Subject: Remove browser tests - Part 1: The Tests (except for experiments) --- browser/components/uitour/test/.eslintrc.js | 7 - browser/components/uitour/test/browser.ini | 49 -- browser/components/uitour/test/browser_UITour.js | 408 ----------- browser/components/uitour/test/browser_UITour2.js | 83 --- browser/components/uitour/test/browser_UITour3.js | 181 ----- .../browser_UITour_annotation_size_attributes.js | 42 -- .../uitour/test/browser_UITour_availableTargets.js | 114 ---- .../uitour/test/browser_UITour_defaultBrowser.js | 61 -- .../uitour/test/browser_UITour_detach_tab.js | 94 --- .../uitour/test/browser_UITour_forceReaderMode.js | 17 - .../uitour/test/browser_UITour_heartbeat.js | 755 --------------------- .../uitour/test/browser_UITour_modalDialog.js | 104 --- .../uitour/test/browser_UITour_observe.js | 85 --- .../test/browser_UITour_panel_close_annotation.js | 153 ----- .../uitour/test/browser_UITour_pocket.js | 82 --- .../uitour/test/browser_UITour_registerPageID.js | 108 --- .../uitour/test/browser_UITour_resetProfile.js | 48 -- .../uitour/test/browser_UITour_showNewTab.js | 17 - .../components/uitour/test/browser_UITour_sync.js | 105 --- .../uitour/test/browser_UITour_toggleReaderMode.js | 16 - .../uitour/test/browser_backgroundTab.js | 46 -- browser/components/uitour/test/browser_closeTab.js | 18 - browser/components/uitour/test/browser_fxa.js | 68 -- browser/components/uitour/test/browser_no_tabs.js | 102 --- .../uitour/test/browser_openPreferences.js | 36 - .../uitour/test/browser_openSearchPanel.js | 33 - .../uitour/test/browser_showMenu_controlCenter.js | 44 -- .../uitour/test/browser_trackingProtection.js | 90 --- .../uitour/test/browser_trackingProtection_tour.js | 77 --- browser/components/uitour/test/head.js | 449 ------------ browser/components/uitour/test/image.png | Bin 56060 -> 0 bytes browser/components/uitour/test/uitour.html | 42 -- 32 files changed, 3534 deletions(-) delete mode 100644 browser/components/uitour/test/.eslintrc.js delete mode 100644 browser/components/uitour/test/browser.ini delete mode 100644 browser/components/uitour/test/browser_UITour.js delete mode 100644 browser/components/uitour/test/browser_UITour2.js delete mode 100644 browser/components/uitour/test/browser_UITour3.js delete mode 100644 browser/components/uitour/test/browser_UITour_annotation_size_attributes.js delete mode 100644 browser/components/uitour/test/browser_UITour_availableTargets.js delete mode 100644 browser/components/uitour/test/browser_UITour_defaultBrowser.js delete mode 100644 browser/components/uitour/test/browser_UITour_detach_tab.js delete mode 100644 browser/components/uitour/test/browser_UITour_forceReaderMode.js delete mode 100644 browser/components/uitour/test/browser_UITour_heartbeat.js delete mode 100644 browser/components/uitour/test/browser_UITour_modalDialog.js delete mode 100644 browser/components/uitour/test/browser_UITour_observe.js delete mode 100644 browser/components/uitour/test/browser_UITour_panel_close_annotation.js delete mode 100644 browser/components/uitour/test/browser_UITour_pocket.js delete mode 100644 browser/components/uitour/test/browser_UITour_registerPageID.js delete mode 100644 browser/components/uitour/test/browser_UITour_resetProfile.js delete mode 100644 browser/components/uitour/test/browser_UITour_showNewTab.js delete mode 100644 browser/components/uitour/test/browser_UITour_sync.js delete mode 100644 browser/components/uitour/test/browser_UITour_toggleReaderMode.js delete mode 100644 browser/components/uitour/test/browser_backgroundTab.js delete mode 100644 browser/components/uitour/test/browser_closeTab.js delete mode 100644 browser/components/uitour/test/browser_fxa.js delete mode 100644 browser/components/uitour/test/browser_no_tabs.js delete mode 100644 browser/components/uitour/test/browser_openPreferences.js delete mode 100644 browser/components/uitour/test/browser_openSearchPanel.js delete mode 100644 browser/components/uitour/test/browser_showMenu_controlCenter.js delete mode 100644 browser/components/uitour/test/browser_trackingProtection.js delete mode 100644 browser/components/uitour/test/browser_trackingProtection_tour.js delete mode 100644 browser/components/uitour/test/head.js delete mode 100644 browser/components/uitour/test/image.png delete mode 100644 browser/components/uitour/test/uitour.html (limited to 'browser/components/uitour') diff --git a/browser/components/uitour/test/.eslintrc.js b/browser/components/uitour/test/.eslintrc.js deleted file mode 100644 index c764b133d..000000000 --- a/browser/components/uitour/test/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -module.exports = { - "extends": [ - "../../../../testing/mochitest/browser.eslintrc.js" - ] -}; diff --git a/browser/components/uitour/test/browser.ini b/browser/components/uitour/test/browser.ini deleted file mode 100644 index ae027a738..000000000 --- a/browser/components/uitour/test/browser.ini +++ /dev/null @@ -1,49 +0,0 @@ -[DEFAULT] -support-files = - head.js - image.png - uitour.html - ../UITour-lib.js - -[browser_backgroundTab.js] -[browser_closeTab.js] -[browser_fxa.js] -skip-if = debug || asan # updateAppMenuItem leaks -[browser_no_tabs.js] -[browser_openPreferences.js] -[browser_openSearchPanel.js] -skip-if = true # Bug 1113038 - Intermittent "Popup was opened" -[browser_trackingProtection.js] -skip-if = os == "linux" # Intermittent NS_ERROR_NOT_AVAILABLE [nsIUrlClassifierDBService.beginUpdate] -tag = trackingprotection -support-files = - !/browser/base/content/test/general/benignPage.html - !/browser/base/content/test/general/trackingPage.html -[browser_trackingProtection_tour.js] -tag = trackingprotection -[browser_showMenu_controlCenter.js] -tag = trackingprotection -[browser_UITour.js] -skip-if = os == "linux" # Intermittent failures, bug 951965 -[browser_UITour2.js] -[browser_UITour3.js] -skip-if = os == "linux" # Linux: Bug 986760, Bug 989101. -[browser_UITour_availableTargets.js] -[browser_UITour_annotation_size_attributes.js] -[browser_UITour_defaultBrowser.js] -[browser_UITour_detach_tab.js] -[browser_UITour_forceReaderMode.js] -[browser_UITour_heartbeat.js] -skip-if = os == "win" # Bug 1277107 -[browser_UITour_modalDialog.js] -skip-if = os != "mac" # modal dialog disabling only working on OS X. -[browser_UITour_observe.js] -[browser_UITour_panel_close_annotation.js] -skip-if = true # Disabled due to frequent failures, bugs 1026310 and 1032137 -[browser_UITour_pocket.js] -skip-if = true # Disabled pending removal of pocket UI Tour -[browser_UITour_registerPageID.js] -[browser_UITour_resetProfile.js] -[browser_UITour_showNewTab.js] -[browser_UITour_sync.js] -[browser_UITour_toggleReaderMode.js] diff --git a/browser/components/uitour/test/browser_UITour.js b/browser/components/uitour/test/browser_UITour.js deleted file mode 100644 index 964be0215..000000000 --- a/browser/components/uitour/test/browser_UITour.js +++ /dev/null @@ -1,408 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -"use strict"; - -var gTestTab; -var gContentAPI; -var gContentWindow; - -Components.utils.import("resource://testing-common/TelemetryArchiveTesting.jsm", this); - -function test() { - UITourTest(); -} - -var tests = [ - function test_untrusted_host(done) { - loadUITourTestPage(function() { - let bookmarksMenu = document.getElementById("bookmarks-menu-button"); - is(bookmarksMenu.open, false, "Bookmark menu should initially be closed"); - - gContentAPI.showMenu("bookmarks"); - is(bookmarksMenu.open, false, "Bookmark menu should not open on a untrusted host"); - - done(); - }, "http://mochi.test:8888/"); - }, - function test_testing_host(done) { - // Add two testing origins intentionally surrounded by whitespace to be ignored. - Services.prefs.setCharPref("browser.uitour.testingOrigins", - "https://test1.example.org, https://test2.example.org:443 "); - - registerCleanupFunction(() => { - Services.prefs.clearUserPref("browser.uitour.testingOrigins"); - }); - function callback(result) { - ok(result, "Callback should be called on a testing origin"); - done(); - } - - loadUITourTestPage(function() { - gContentAPI.getConfiguration("appinfo", callback); - }, "https://test2.example.org/"); - }, - function test_unsecure_host(done) { - loadUITourTestPage(function() { - let bookmarksMenu = document.getElementById("bookmarks-menu-button"); - is(bookmarksMenu.open, false, "Bookmark menu should initially be closed"); - - gContentAPI.showMenu("bookmarks"); - is(bookmarksMenu.open, false, "Bookmark menu should not open on a unsecure host"); - - done(); - }, "http://example.org/"); - }, - function test_unsecure_host_override(done) { - Services.prefs.setBoolPref("browser.uitour.requireSecure", false); - loadUITourTestPage(function() { - let highlight = document.getElementById("UITourHighlight"); - is_element_hidden(highlight, "Highlight should initially be hidden"); - - gContentAPI.showHighlight("urlbar"); - waitForElementToBeVisible(highlight, done, "Highlight should be shown on a unsecure host when override pref is set"); - - Services.prefs.setBoolPref("browser.uitour.requireSecure", true); - }, "http://example.org/"); - }, - function test_disabled(done) { - Services.prefs.setBoolPref("browser.uitour.enabled", false); - - let bookmarksMenu = document.getElementById("bookmarks-menu-button"); - is(bookmarksMenu.open, false, "Bookmark menu should initially be closed"); - - gContentAPI.showMenu("bookmarks"); - is(bookmarksMenu.open, false, "Bookmark menu should not open when feature is disabled"); - - Services.prefs.setBoolPref("browser.uitour.enabled", true); - done(); - }, - function test_highlight(done) { - function test_highlight_2() { - let highlight = document.getElementById("UITourHighlight"); - gContentAPI.hideHighlight(); - - waitForElementToBeHidden(highlight, test_highlight_3, "Highlight should be hidden after hideHighlight()"); - } - function test_highlight_3() { - is_element_hidden(highlight, "Highlight should be hidden after hideHighlight()"); - - gContentAPI.showHighlight("urlbar"); - waitForElementToBeVisible(highlight, test_highlight_4, "Highlight should be shown after showHighlight()"); - } - function test_highlight_4() { - let highlight = document.getElementById("UITourHighlight"); - gContentAPI.showHighlight("backForward"); - waitForElementToBeVisible(highlight, done, "Highlight should be shown after showHighlight()"); - } - - let highlight = document.getElementById("UITourHighlight"); - is_element_hidden(highlight, "Highlight should initially be hidden"); - - gContentAPI.showHighlight("urlbar"); - waitForElementToBeVisible(highlight, test_highlight_2, "Highlight should be shown after showHighlight()"); - }, - function test_highlight_circle(done) { - function check_highlight_size() { - let panel = highlight.parentElement; - let anchor = panel.anchorNode; - let anchorRect = anchor.getBoundingClientRect(); - info("addons target: width: " + anchorRect.width + " height: " + anchorRect.height); - let maxDimension = Math.round(Math.max(anchorRect.width, anchorRect.height)); - let highlightRect = highlight.getBoundingClientRect(); - info("highlight: width: " + highlightRect.width + " height: " + highlightRect.height); - is(Math.round(highlightRect.width), maxDimension, "The width of the highlight should be equal to the largest dimension of the target"); - is(Math.round(highlightRect.height), maxDimension, "The height of the highlight should be equal to the largest dimension of the target"); - is(Math.round(highlightRect.height), Math.round(highlightRect.width), "The height and width of the highlight should be the same to create a circle"); - is(highlight.style.borderRadius, "100%", "The border-radius should be 100% to create a circle"); - done(); - } - let highlight = document.getElementById("UITourHighlight"); - is_element_hidden(highlight, "Highlight should initially be hidden"); - - gContentAPI.showHighlight("addons"); - waitForElementToBeVisible(highlight, check_highlight_size, "Highlight should be shown after showHighlight()"); - }, - function test_highlight_customize_auto_open_close(done) { - let highlight = document.getElementById("UITourHighlight"); - gContentAPI.showHighlight("customize"); - waitForElementToBeVisible(highlight, function checkPanelIsOpen() { - isnot(PanelUI.panel.state, "closed", "Panel should have opened"); - - // Move the highlight outside which should close the app menu. - gContentAPI.showHighlight("appMenu"); - waitForElementToBeVisible(highlight, function checkPanelIsClosed() { - isnot(PanelUI.panel.state, "open", - "Panel should have closed after the highlight moved elsewhere."); - done(); - }, "Highlight should move to the appMenu button"); - }, "Highlight should be shown after showHighlight() for fixed panel items"); - }, - function test_highlight_customize_manual_open_close(done) { - let highlight = document.getElementById("UITourHighlight"); - // Manually open the app menu then show a highlight there. The menu should remain open. - let shownPromise = promisePanelShown(window); - gContentAPI.showMenu("appMenu"); - shownPromise.then(() => { - isnot(PanelUI.panel.state, "closed", "Panel should have opened"); - gContentAPI.showHighlight("customize"); - - waitForElementToBeVisible(highlight, function checkPanelIsStillOpen() { - isnot(PanelUI.panel.state, "closed", "Panel should still be open"); - - // Move the highlight outside which shouldn't close the app menu since it was manually opened. - gContentAPI.showHighlight("appMenu"); - waitForElementToBeVisible(highlight, function () { - isnot(PanelUI.panel.state, "closed", - "Panel should remain open since UITour didn't open it in the first place"); - gContentAPI.hideMenu("appMenu"); - done(); - }, "Highlight should move to the appMenu button"); - }, "Highlight should be shown after showHighlight() for fixed panel items"); - }).then(null, Components.utils.reportError); - }, - function test_highlight_effect(done) { - function waitForHighlightWithEffect(highlightEl, effect, next, error) { - return waitForCondition(() => highlightEl.getAttribute("active") == effect, - next, - error); - } - function checkDefaultEffect() { - is(highlight.getAttribute("active"), "none", "The default should be no effect"); - - gContentAPI.showHighlight("urlbar", "none"); - waitForHighlightWithEffect(highlight, "none", checkZoomEffect, "There should be no effect"); - } - function checkZoomEffect() { - gContentAPI.showHighlight("urlbar", "zoom"); - waitForHighlightWithEffect(highlight, "zoom", () => { - let style = window.getComputedStyle(highlight); - is(style.animationName, "uitour-zoom", "The animation-name should be uitour-zoom"); - checkSameEffectOnDifferentTarget(); - }, "There should be a zoom effect"); - } - function checkSameEffectOnDifferentTarget() { - gContentAPI.showHighlight("appMenu", "wobble"); - waitForHighlightWithEffect(highlight, "wobble", () => { - highlight.addEventListener("animationstart", function onAnimationStart(aEvent) { - highlight.removeEventListener("animationstart", onAnimationStart); - ok(true, "Animation occurred again even though the effect was the same"); - checkRandomEffect(); - }); - gContentAPI.showHighlight("backForward", "wobble"); - }, "There should be a wobble effect"); - } - function checkRandomEffect() { - function waitForActiveHighlight(highlightEl, next, error) { - return waitForCondition(() => highlightEl.hasAttribute("active"), - next, - error); - } - - gContentAPI.hideHighlight(); - gContentAPI.showHighlight("urlbar", "random"); - waitForActiveHighlight(highlight, () => { - ok(highlight.hasAttribute("active"), "The highlight should be active"); - isnot(highlight.getAttribute("active"), "none", "A random effect other than none should have been chosen"); - isnot(highlight.getAttribute("active"), "random", "The random effect shouldn't be 'random'"); - isnot(UITour.highlightEffects.indexOf(highlight.getAttribute("active")), -1, "Check that a supported effect was randomly chosen"); - done(); - }, "There should be an active highlight with a random effect"); - } - - let highlight = document.getElementById("UITourHighlight"); - is_element_hidden(highlight, "Highlight should initially be hidden"); - - gContentAPI.showHighlight("urlbar"); - waitForElementToBeVisible(highlight, checkDefaultEffect, "Highlight should be shown after showHighlight()"); - }, - function test_highlight_effect_unsupported(done) { - function checkUnsupportedEffect() { - is(highlight.getAttribute("active"), "none", "No effect should be used when an unsupported effect is requested"); - done(); - } - - let highlight = document.getElementById("UITourHighlight"); - is_element_hidden(highlight, "Highlight should initially be hidden"); - - gContentAPI.showHighlight("urlbar", "__UNSUPPORTED__"); - waitForElementToBeVisible(highlight, checkUnsupportedEffect, "Highlight should be shown after showHighlight()"); - }, - function test_info_1(done) { - let popup = document.getElementById("UITourTooltip"); - let title = document.getElementById("UITourTooltipTitle"); - let desc = document.getElementById("UITourTooltipDescription"); - let icon = document.getElementById("UITourTooltipIcon"); - let buttons = document.getElementById("UITourTooltipButtons"); - - popup.addEventListener("popupshown", function onPopupShown() { - popup.removeEventListener("popupshown", onPopupShown); - is(popup.popupBoxObject.anchorNode, document.getElementById("urlbar"), "Popup should be anchored to the urlbar"); - is(title.textContent, "test title", "Popup should have correct title"); - is(desc.textContent, "test text", "Popup should have correct description text"); - is(icon.src, "", "Popup should have no icon"); - is(buttons.hasChildNodes(), false, "Popup should have no buttons"); - - popup.addEventListener("popuphidden", function onPopupHidden() { - popup.removeEventListener("popuphidden", onPopupHidden); - - popup.addEventListener("popupshown", function onPopupShown() { - popup.removeEventListener("popupshown", onPopupShown); - done(); - }); - - gContentAPI.showInfo("urlbar", "test title", "test text"); - - }); - gContentAPI.hideInfo(); - }); - - gContentAPI.showInfo("urlbar", "test title", "test text"); - }, - taskify(function* test_info_2() { - let popup = document.getElementById("UITourTooltip"); - let title = document.getElementById("UITourTooltipTitle"); - let desc = document.getElementById("UITourTooltipDescription"); - let icon = document.getElementById("UITourTooltipIcon"); - let buttons = document.getElementById("UITourTooltipButtons"); - - yield showInfoPromise("urlbar", "urlbar title", "urlbar text"); - - is(popup.popupBoxObject.anchorNode, document.getElementById("urlbar"), "Popup should be anchored to the urlbar"); - is(title.textContent, "urlbar title", "Popup should have correct title"); - is(desc.textContent, "urlbar text", "Popup should have correct description text"); - is(icon.src, "", "Popup should have no icon"); - is(buttons.hasChildNodes(), false, "Popup should have no buttons"); - - yield showInfoPromise("search", "search title", "search text"); - - is(popup.popupBoxObject.anchorNode, document.getElementById("searchbar"), "Popup should be anchored to the searchbar"); - is(title.textContent, "search title", "Popup should have correct title"); - is(desc.textContent, "search text", "Popup should have correct description text"); - }), - function test_getConfigurationVersion(done) { - function callback(result) { - let props = ["defaultUpdateChannel", "version"]; - for (let property of props) { - ok(typeof(result[property]) !== "undefined", "Check " + property + " isn't undefined."); - is(result[property], Services.appinfo[property], "Should have the same " + property + " property."); - } - done(); - } - - gContentAPI.getConfiguration("appinfo", callback); - }, - function test_getConfigurationDistribution(done) { - gContentAPI.getConfiguration("appinfo", (result) => { - ok(typeof(result.distribution) !== "undefined", "Check distribution isn't undefined."); - is(result.distribution, "default", "Should be \"default\" without preference set."); - - let defaults = Services.prefs.getDefaultBranch("distribution."); - let testDistributionID = "TestDistribution"; - defaults.setCharPref("id", testDistributionID); - gContentAPI.getConfiguration("appinfo", (result) => { - ok(typeof(result.distribution) !== "undefined", "Check distribution isn't undefined."); - is(result.distribution, testDistributionID, "Should have the distribution as set in preference."); - - done(); - }); - }); - }, - function test_addToolbarButton(done) { - let placement = CustomizableUI.getPlacementOfWidget("panic-button"); - is(placement, null, "default UI has panic button in the palette"); - - gContentAPI.getConfiguration("availableTargets", (data) => { - let available = (data.targets.indexOf("forget") != -1); - ok(!available, "Forget button should not be available by default"); - - gContentAPI.addNavBarWidget("forget", () => { - info("addNavBarWidget callback successfully called"); - - let placement = CustomizableUI.getPlacementOfWidget("panic-button"); - is(placement.area, CustomizableUI.AREA_NAVBAR); - - gContentAPI.getConfiguration("availableTargets", (data) => { - let available = (data.targets.indexOf("forget") != -1); - ok(available, "Forget button should now be available"); - - // Cleanup - CustomizableUI.removeWidgetFromArea("panic-button"); - done(); - }); - }); - }); - }, - function test_search(done) { - Services.search.init(rv => { - if (!Components.isSuccessCode(rv)) { - ok(false, "search service init failed: " + rv); - done(); - return; - } - let defaultEngine = Services.search.defaultEngine; - gContentAPI.getConfiguration("search", data => { - let visibleEngines = Services.search.getVisibleEngines(); - let expectedEngines = visibleEngines.filter((engine) => engine.identifier) - .map((engine) => "searchEngine-" + engine.identifier); - - let engines = data.engines; - ok(Array.isArray(engines), "data.engines should be an array"); - is(engines.sort().toString(), expectedEngines.sort().toString(), - "Engines should be as expected"); - - is(data.searchEngineIdentifier, defaultEngine.identifier, - "the searchEngineIdentifier property should contain the defaultEngine's identifier"); - - let someOtherEngineID = data.engines.filter(t => t != "searchEngine-" + defaultEngine.identifier)[0]; - someOtherEngineID = someOtherEngineID.replace(/^searchEngine-/, ""); - - let observe = function (subject, topic, verb) { - info("browser-search-engine-modified: " + verb); - if (verb == "engine-current") { - is(Services.search.defaultEngine.identifier, someOtherEngineID, "correct engine was switched to"); - done(); - } - }; - Services.obs.addObserver(observe, "browser-search-engine-modified", false); - registerCleanupFunction(() => { - // Clean up - Services.obs.removeObserver(observe, "browser-search-engine-modified"); - Services.search.defaultEngine = defaultEngine; - }); - - gContentAPI.setDefaultSearchEngine(someOtherEngineID); - }); - }); - }, - taskify(function* test_treatment_tag() { - let ac = new TelemetryArchiveTesting.Checker(); - yield ac.promiseInit(); - yield gContentAPI.setTreatmentTag("foobar", "baz"); - // Wait until the treatment telemetry is sent before looking in the archive. - yield BrowserTestUtils.waitForContentEvent(gTestTab.linkedBrowser, "mozUITourNotification", false, - event => event.detail.event === "TreatmentTag:TelemetrySent"); - yield new Promise((resolve) => { - gContentAPI.getTreatmentTag("foobar", (data) => { - is(data.value, "baz", "set and retrieved treatmentTag"); - ac.promiseFindPing("uitour-tag", [ - [["payload", "tagName"], "foobar"], - [["payload", "tagValue"], "baz"], - ]).then((found) => { - ok(found, "Telemetry ping submitted for setTreatmentTag"); - resolve(); - }, (err) => { - ok(false, "Exception finding uitour telemetry ping: " + err); - resolve(); - }); - }); - }); - }), - - // Make sure this test is last in the file so the appMenu gets left open and done will confirm it got tore down. - taskify(function* cleanupMenus() { - let shownPromise = promisePanelShown(window); - gContentAPI.showMenu("appMenu"); - yield shownPromise; - }), -]; diff --git a/browser/components/uitour/test/browser_UITour2.js b/browser/components/uitour/test/browser_UITour2.js deleted file mode 100644 index e74a71afa..000000000 --- a/browser/components/uitour/test/browser_UITour2.js +++ /dev/null @@ -1,83 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -"use strict"; - -var gTestTab; -var gContentAPI; -var gContentWindow; - -function test() { - UITourTest(); -} - -var tests = [ - function test_info_customize_auto_open_close(done) { - let popup = document.getElementById("UITourTooltip"); - gContentAPI.showInfo("customize", "Customization", "Customize me please!"); - UITour.getTarget(window, "customize").then((customizeTarget) => { - waitForPopupAtAnchor(popup, customizeTarget.node, function checkPanelIsOpen() { - isnot(PanelUI.panel.state, "closed", "Panel should have opened before the popup anchored"); - ok(PanelUI.panel.hasAttribute("noautohide"), "@noautohide on the menu panel should have been set"); - - // Move the info outside which should close the app menu. - gContentAPI.showInfo("appMenu", "Open Me", "You know you want to"); - UITour.getTarget(window, "appMenu").then((target) => { - waitForPopupAtAnchor(popup, target.node, function checkPanelIsClosed() { - isnot(PanelUI.panel.state, "open", - "Panel should have closed after the info moved elsewhere."); - ok(!PanelUI.panel.hasAttribute("noautohide"), "@noautohide on the menu panel should have been cleaned up on close"); - done(); - }, "Info should move to the appMenu button"); - }); - }, "Info panel should be anchored to the customize button"); - }); - }, - function test_info_customize_manual_open_close(done) { - let popup = document.getElementById("UITourTooltip"); - // Manually open the app menu then show an info panel there. The menu should remain open. - let shownPromise = promisePanelShown(window); - gContentAPI.showMenu("appMenu"); - shownPromise.then(() => { - isnot(PanelUI.panel.state, "closed", "Panel should have opened"); - ok(PanelUI.panel.hasAttribute("noautohide"), "@noautohide on the menu panel should have been set"); - gContentAPI.showInfo("customize", "Customization", "Customize me please!"); - - UITour.getTarget(window, "customize").then((customizeTarget) => { - waitForPopupAtAnchor(popup, customizeTarget.node, function checkMenuIsStillOpen() { - isnot(PanelUI.panel.state, "closed", "Panel should still be open"); - ok(PanelUI.panel.hasAttribute("noautohide"), "@noautohide on the menu panel should still be set"); - - // Move the info outside which shouldn't close the app menu since it was manually opened. - gContentAPI.showInfo("appMenu", "Open Me", "You know you want to"); - UITour.getTarget(window, "appMenu").then((target) => { - waitForPopupAtAnchor(popup, target.node, function checkMenuIsStillOpen() { - isnot(PanelUI.panel.state, "closed", - "Menu should remain open since UITour didn't open it in the first place"); - waitForElementToBeHidden(window.PanelUI.panel, () => { - ok(!PanelUI.panel.hasAttribute("noautohide"), "@noautohide on the menu panel should have been cleaned up on close"); - done(); - }); - gContentAPI.hideMenu("appMenu"); - }, "Info should move to the appMenu button"); - }); - }, "Info should be shown after showInfo() for fixed menu panel items"); - }); - }).then(null, Components.utils.reportError); - }, - taskify(function* test_bookmarks_menu() { - let bookmarksMenuButton = document.getElementById("bookmarks-menu-button"); - - is(bookmarksMenuButton.open, false, "Menu should initially be closed"); - gContentAPI.showMenu("bookmarks"); - - yield waitForConditionPromise(() => { - return bookmarksMenuButton.open; - }, "Menu should be visible after showMenu()"); - - gContentAPI.hideMenu("bookmarks"); - yield waitForConditionPromise(() => { - return !bookmarksMenuButton.open; - }, "Menu should be hidden after hideMenu()"); - }), -]; diff --git a/browser/components/uitour/test/browser_UITour3.js b/browser/components/uitour/test/browser_UITour3.js deleted file mode 100644 index b852339f1..000000000 --- a/browser/components/uitour/test/browser_UITour3.js +++ /dev/null @@ -1,181 +0,0 @@ -"use strict"; - -var gTestTab; -var gContentAPI; -var gContentWindow; - -requestLongerTimeout(2); - -add_task(setup_UITourTest); - -add_UITour_task(function* test_info_icon() { - let popup = document.getElementById("UITourTooltip"); - let title = document.getElementById("UITourTooltipTitle"); - let desc = document.getElementById("UITourTooltipDescription"); - let icon = document.getElementById("UITourTooltipIcon"); - let buttons = document.getElementById("UITourTooltipButtons"); - - // Disable the animation to prevent the mouse clicks from hitting the main - // window during the transition instead of the buttons in the popup. - popup.setAttribute("animate", "false"); - - yield showInfoPromise("urlbar", "a title", "some text", "image.png"); - - is(title.textContent, "a title", "Popup should have correct title"); - is(desc.textContent, "some text", "Popup should have correct description text"); - - let imageURL = getRootDirectory(gTestPath) + "image.png"; - imageURL = imageURL.replace("chrome://mochitests/content/", "https://example.org/"); - is(icon.src, imageURL, "Popup should have correct icon shown"); - - is(buttons.hasChildNodes(), false, "Popup should have no buttons"); -}), - -add_UITour_task(function* test_info_buttons_1() { - let popup = document.getElementById("UITourTooltip"); - let title = document.getElementById("UITourTooltipTitle"); - let desc = document.getElementById("UITourTooltipDescription"); - let icon = document.getElementById("UITourTooltipIcon"); - - yield showInfoPromise("urlbar", "another title", "moar text", "./image.png", "makeButtons"); - - is(title.textContent, "another title", "Popup should have correct title"); - is(desc.textContent, "moar text", "Popup should have correct description text"); - - let imageURL = getRootDirectory(gTestPath) + "image.png"; - imageURL = imageURL.replace("chrome://mochitests/content/", "https://example.org/"); - is(icon.src, imageURL, "Popup should have correct icon shown"); - - let buttons = document.getElementById("UITourTooltipButtons"); - is(buttons.childElementCount, 4, "Popup should have four buttons"); - - is(buttons.childNodes[0].nodeName, "label", "Text label should be a