diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /browser/components/uitour/test/browser_fxa.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'browser/components/uitour/test/browser_fxa.js')
-rw-r--r-- | browser/components/uitour/test/browser_fxa.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/browser/components/uitour/test/browser_fxa.js b/browser/components/uitour/test/browser_fxa.js new file mode 100644 index 000000000..36ac45a62 --- /dev/null +++ b/browser/components/uitour/test/browser_fxa.js @@ -0,0 +1,68 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; + +XPCOMUtils.defineLazyModuleGetter(this, "fxAccounts", + "resource://gre/modules/FxAccounts.jsm"); + +var gTestTab; +var gContentAPI; +var gContentWindow; + +function test() { + UITourTest(); +} + +registerCleanupFunction(function*() { + yield signOut(); + gFxAccounts.updateAppMenuItem(); +}); + +var tests = [ + taskify(function* test_highlight_accountStatus_loggedOut() { + let userData = yield fxAccounts.getSignedInUser(); + is(userData, null, "Not logged in initially"); + yield showMenuPromise("appMenu"); + yield showHighlightPromise("accountStatus"); + let highlight = document.getElementById("UITourHighlightContainer"); + is(highlight.getAttribute("targetName"), "accountStatus", "Correct highlight target"); + }), + + taskify(function* test_highlight_accountStatus_loggedIn() { + yield setSignedInUser(); + let userData = yield fxAccounts.getSignedInUser(); + isnot(userData, null, "Logged in now"); + gFxAccounts.updateAppMenuItem(); // Causes a leak + yield showMenuPromise("appMenu"); + yield showHighlightPromise("accountStatus"); + let highlight = document.getElementById("UITourHighlightContainer"); + is(highlight.popupBoxObject.anchorNode.id, "PanelUI-fxa-avatar", "Anchored on avatar"); + is(highlight.getAttribute("targetName"), "accountStatus", "Correct highlight target"); + }), +]; + +// Helpers copied from browser_aboutAccounts.js +// watch out - these will fire observers which if you aren't careful, may +// interfere with the tests. +function setSignedInUser(data) { + if (!data) { + data = { + email: "foo@example.com", + uid: "1234@lcip.org", + assertion: "foobar", + sessionToken: "dead", + kA: "beef", + kB: "cafe", + verified: true + }; + } + return fxAccounts.setSignedInUser(data); +} + +function signOut() { + // we always want a "localOnly" signout here... + return fxAccounts.signOut(true); +} |