Bug 675821 - Part 3: tests for sync links behavior in aboutHome. r=philikon
This commit is contained in:
@@ -10,6 +10,9 @@ registerCleanupFunction(function() {
|
|||||||
try {
|
try {
|
||||||
Services.prefs.clearUserPref("network.cookie.lifetimePolicy");
|
Services.prefs.clearUserPref("network.cookie.lifetimePolicy");
|
||||||
} catch (ex) {}
|
} catch (ex) {}
|
||||||
|
try {
|
||||||
|
Services.prefs.clearUserPref("services.sync.username");
|
||||||
|
} catch (ex) {}
|
||||||
});
|
});
|
||||||
|
|
||||||
let gTests = [
|
let gTests = [
|
||||||
@@ -114,6 +117,116 @@ let gTests = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
desc: "Check sync links visibility before and after Sync setup",
|
||||||
|
setup: function ()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
Services.prefs.clearUserPref("services.sync.username");
|
||||||
|
} catch (ex) {}
|
||||||
|
Services.obs.notifyObservers(null, "weave:service:ready", null);
|
||||||
|
},
|
||||||
|
run: function ()
|
||||||
|
{
|
||||||
|
let doc = gBrowser.selectedTab.linkedBrowser.contentDocument;
|
||||||
|
let pairLink = doc.getElementById("pairDeviceLink");
|
||||||
|
let setupLink = doc.getElementById("setupSyncLink");
|
||||||
|
|
||||||
|
ok(pairLink, "Found 'Pair Device' link");
|
||||||
|
ok(setupLink, "Found 'Set Up Sync' link");
|
||||||
|
ok(!pairLink.hidden, "'Pair' link is visible before setup");
|
||||||
|
ok(!setupLink.hidden, "'Set Up' link is visible before setup");
|
||||||
|
|
||||||
|
Services.obs.notifyObservers(null, "weave:service:setup-complete", null);
|
||||||
|
|
||||||
|
executeSoon(function () {
|
||||||
|
setupLink = doc.getElementById("setupSyncLink");
|
||||||
|
ok(setupLink.hidden, "'Set Up' link is hidden after setup");
|
||||||
|
ok(!pairLink.hidden, "'Pair' link is visible after setup");
|
||||||
|
|
||||||
|
executeSoon(runNextTest);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
desc: "Check sync links visibility before and after Sync unlink",
|
||||||
|
setup: function ()
|
||||||
|
{
|
||||||
|
Services.prefs.setCharPref("services.sync.username", "someuser@domain.com");
|
||||||
|
Services.obs.notifyObservers(null, "weave:service:ready", null);
|
||||||
|
},
|
||||||
|
run: function ()
|
||||||
|
{
|
||||||
|
let doc = gBrowser.selectedTab.linkedBrowser.contentDocument;
|
||||||
|
let pairLink = doc.getElementById("pairDeviceLink");
|
||||||
|
let setupLink = doc.getElementById("setupSyncLink");
|
||||||
|
|
||||||
|
ok(!pairLink.hidden, "'Pair' link is visible before unlink");
|
||||||
|
ok(setupLink.hidden, "'Set Up' link is hidden before unlink");
|
||||||
|
|
||||||
|
Services.obs.notifyObservers(null, "weave:service:start-over", null);
|
||||||
|
|
||||||
|
executeSoon(function () {
|
||||||
|
setupLink = doc.getElementById("setupSyncLink");
|
||||||
|
ok(!setupLink.hidden, "'Set Up' link is visible after unlink");
|
||||||
|
ok(!pairLink.hidden, "'Pair' link is visible after unlink");
|
||||||
|
executeSoon(runNextTest);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
desc: "Check Pair Device link opens correct dialog with Sync account ",
|
||||||
|
setup: function ()
|
||||||
|
{
|
||||||
|
Services.prefs.setCharPref("services.sync.username", "someuser@domain.com");
|
||||||
|
Services.obs.notifyObservers(null, "weave:service:ready", null);
|
||||||
|
},
|
||||||
|
run: function ()
|
||||||
|
{
|
||||||
|
expectDialogWindow("Sync:AddDevice");
|
||||||
|
let browser = gBrowser.selectedTab.linkedBrowser;
|
||||||
|
let button = browser.contentDocument.getElementById("pairDeviceLink");
|
||||||
|
EventUtils.sendMouseEvent({type: "click"}, button, browser.contentWindow);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
desc: "Check Pair Device link opens correct dialog without Sync account",
|
||||||
|
setup: function ()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
Services.prefs.clearUserPref("services.sync.username");
|
||||||
|
} catch (ex) {}
|
||||||
|
Services.obs.notifyObservers(null, "weave:service:ready", null);
|
||||||
|
},
|
||||||
|
run: function ()
|
||||||
|
{
|
||||||
|
expectDialogWindow("Weave:AccountSetup");
|
||||||
|
let browser = gBrowser.selectedTab.linkedBrowser;
|
||||||
|
let button = browser.contentDocument.getElementById("pairDeviceLink");
|
||||||
|
EventUtils.sendMouseEvent({type: "click"}, button, browser.contentWindow);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
desc: "Check Sync Setup link opens correct dialog (without Sync account)",
|
||||||
|
setup: function ()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
Services.prefs.clearUserPref("services.sync.username");
|
||||||
|
} catch (ex) {}
|
||||||
|
Services.obs.notifyObservers(null, "weave:service:ready", null);
|
||||||
|
},
|
||||||
|
run: function ()
|
||||||
|
{
|
||||||
|
expectDialogWindow("Weave:AccountSetup");
|
||||||
|
let browser = gBrowser.selectedTab.linkedBrowser;
|
||||||
|
let button = browser.contentDocument.getElementById("setupSyncLink");
|
||||||
|
EventUtils.sendMouseEvent({type: "click"}, button, browser.contentWindow);
|
||||||
|
}
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
function test()
|
function test()
|
||||||
@@ -159,6 +272,22 @@ function runNextTest()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function expectDialogWindow(expectedDialog) {
|
||||||
|
Services.ww.registerNotification(function onWindow(subject, topic) {
|
||||||
|
let win = subject.QueryInterface(Components.interfaces.nsIDOMWindow);
|
||||||
|
win.addEventListener("load", function onLoad() {
|
||||||
|
win.removeEventListener("load", onLoad, false);
|
||||||
|
let wintype = win.document.documentElement.getAttribute("windowtype");
|
||||||
|
if (topic == "domwindowopened" && wintype == expectedDialog) {
|
||||||
|
Services.ww.unregisterNotification(onWindow);
|
||||||
|
// Clean up dialog.
|
||||||
|
win.close();
|
||||||
|
executeSoon(runNextTest);
|
||||||
|
}
|
||||||
|
}, false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function getStorage()
|
function getStorage()
|
||||||
{
|
{
|
||||||
let aboutHomeURI = Services.io.newURI("moz-safe-about:home", null, null);
|
let aboutHomeURI = Services.io.newURI("moz-safe-about:home", null, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user