Backed out 2 changesets (bug 1259729) for pocket test failures

Backed out changeset 9b5113e833ff (bug 1259729)
Backed out changeset 24134582d0ce (bug 1259729)

MozReview-Commit-ID: AKMIgo1HJBi
This commit is contained in:
Wes Kocher 2016-04-01 09:53:07 -07:00
Родитель dfbf4d7613
Коммит 52eafbcb7d
5 изменённых файлов: 21 добавлений и 136 удалений

10
browser/extensions/pocket/bootstrap.js поставляемый
Просмотреть файл

@ -383,8 +383,12 @@ var PocketOverlay = {
CreatePocketWidget(reason); CreatePocketWidget(reason);
PocketContextMenu.init(); PocketContextMenu.init();
for (let win of allBrowserWindows()) { if (reason != APP_STARTUP) {
this.onWindowOpened(win); for (let win of allBrowserWindows()) {
this.setWindowScripts(win);
this.addStyles(win);
this.updateWindow(win);
}
} }
}, },
shutdown: function(reason) { shutdown: function(reason) {
@ -410,8 +414,6 @@ var PocketOverlay = {
PocketReader.shutdown(); PocketReader.shutdown();
}, },
onWindowOpened: function(window) { onWindowOpened: function(window) {
if (window.hasOwnProperty("pktUI"))
return;
this.setWindowScripts(window); this.setWindowScripts(window);
this.addStyles(window); this.addStyles(window);
this.updateWindow(window); this.updateWindow(window);

Просмотреть файл

@ -1,6 +1 @@
[DEFAULT]
support-files =
head.js
[browser_pocket_ui_check.js] [browser_pocket_ui_check.js]
support-files = test.html

Просмотреть файл

@ -1,54 +1,21 @@
"use strict"; "use strict";
function checkWindowProperties(expectPresent, l) {
for (let name of l) {
is(!!window.hasOwnProperty(name), expectPresent, "property " + name + (expectPresent ? " is" : " is not") + " present");
}
}
function checkElements(expectPresent, l) {
for (let id of l) {
is(!!document.getElementById(id), expectPresent, "element " + id + (expectPresent ? " is" : " is not") + " present");
}
}
add_task(function*() { add_task(function*() {
let enabledOnStartup = yield promisePocketEnabled(); let pocketAddon = yield new Promise(resolve => {
registerCleanupFunction(() => { AddonManager.getAddonByID("firefox@getpocket.com", resolve);
// Extra insurance that this is disabled again, but it should have been set
// in promisePocketReset.
Services.prefs.setBoolPref("extensions.pocket.enabled", enabledOnStartup);
}); });
if (!pocketAddon) {
ok(true, "Pocket is not installed");
return;
}
if (!Services.prefs.getBoolPref("extensions.pocket.enabled")) {
ok(true, "Pocket add-on is not enabled");
return;
}
checkWindowProperties(true, ["Pocket", "pktUI", "pktUIMessaging"]); for (let id of ["panelMenu_pocket", "menu_pocket", "BMB_pocket",
checkElements(true, ["pocket-button", "panelMenu_pocket", "menu_pocket", "BMB_pocket", "panelMenu_pocketSeparator", "menu_pocketSeparator",
"panelMenu_pocketSeparator", "menu_pocketSeparator", "BMB_pocketSeparator"]) {
"BMB_pocketSeparator"]); ok(document.getElementById(id), "Should see element with id " + id);
}
// check context menu exists
info("checking content context menu");
let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, "https://example.com/browser/browser/extensions/pocket/test/test.html");
let contextMenu = document.getElementById("contentAreaContextMenu");
let popupShown = BrowserTestUtils.waitForEvent(contextMenu, "popupshown");
let popupHidden = BrowserTestUtils.waitForEvent(contextMenu, "popuphidden");
yield BrowserTestUtils.synthesizeMouseAtCenter("body", {
type: "contextmenu",
button: 2
}, tab.linkedBrowser);
yield popupShown;
checkElements(true, ["context-pocket", "context-savelinktopocket"]);
contextMenu.hidePopup();
yield popupHidden;
yield BrowserTestUtils.removeTab(tab);
yield promisePocketDisabled();
checkWindowProperties(false, ["Pocket", "pktUI", "pktUIMessaging"]);
checkElements(false, ["pocket-button", "panelMenu_pocket", "menu_pocket", "BMB_pocket",
"panelMenu_pocketSeparator", "menu_pocketSeparator",
"BMB_pocketSeparator", "context-pocket", "context-savelinktopocket"]);
yield promisePocketReset();
}); });

Просмотреть файл

@ -1,68 +0,0 @@
// Currently Pocket is disabled in tests. We want these tests to work under
// either case that Pocket is disabled or enabled on startup of the browser,
// and that at the end we're reset to the correct state.
let enabledOnStartup = false;
// PocketEnabled/Disabled promises return true if it was already
// Enabled/Disabled, and false if it need to Enable/Disable.
function promisePocketEnabled() {
if (Services.prefs.getPrefType("extensions.pocket.enabled") != Services.prefs.PREF_INVALID &&
Services.prefs.getBoolPref("extensions.pocket.enabled")) {
info( "pocket was already enabled, assuming enabled by default for tests");
enabledOnStartup = true;
return Promise.resolve(true);
}
info( "pocket is not enabled");
return new Promise((resolve, reject) => {
let listener = {
onWidgetAfterCreation(widgetid) {
if (widgetid == "pocket-button") {
info("pocket-button created");
CustomizableUI.removeListener(listener);
resolve(false);
}
}
}
CustomizableUI.addListener(listener);
Services.prefs.setBoolPref("extensions.pocket.enabled", true);
});
}
function promisePocketDisabled() {
if (Services.prefs.getPrefType("extensions.pocket.enabled") == Services.prefs.PREF_INVALID ||
!Services.prefs.getBoolPref("extensions.pocket.enabled")) {
info("pocket-button already disabled");
return Promise.resolve(true);
}
return new Promise((resolve, reject) => {
let listener = {
onWidgetDestroyed: function(widgetid) {
if (widgetid == "pocket-button") {
CustomizableUI.removeListener(listener);
info( "pocket-button destroyed");
// wait for a full unload of pocket
BrowserTestUtils.waitForCondition(() => {
return !window.hasOwnProperty("pktUI");
}, "pocket properties removed from window").then(() => {
resolve(false);
})
}
}
}
CustomizableUI.addListener(listener);
info("reset pocket enabled pref");
// testing/profiles/prefs_general.js uses user_pref to disable pocket, set
// back to false.
Services.prefs.setBoolPref("extensions.pocket.enabled", false);
});
}
function promisePocketReset() {
if (enabledOnStartup) {
info("reset is enabling pocket addon");
return promisePocketEnabled();
} else {
info("reset is disabling pocket addon");
return promisePocketDisabled();
}
}

Просмотреть файл

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta charset="utf-8" />
</head>
<body>
</body>
</html>