browser_fxa.js (1554B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 const { UIState } = ChromeUtils.importESModule( 7 "resource://services-sync/UIState.sys.mjs" 8 ); 9 10 ChromeUtils.defineLazyGetter(this, "fxAccounts", () => { 11 return ChromeUtils.importESModule( 12 "resource://gre/modules/FxAccounts.sys.mjs" 13 ).getFxAccountsSingleton(); 14 }); 15 16 var gTestTab; 17 var gContentAPI; 18 19 function test() { 20 UITourTest(); 21 } 22 23 const oldState = UIState.get(); 24 registerCleanupFunction(async function () { 25 await signOut(); 26 gSync.updateAllUI(oldState); 27 }); 28 29 var tests = [ 30 taskify(async function test_highlight_accountStatus_loggedOut() { 31 await showMenuPromise("appMenu"); 32 await showHighlightPromise("accountStatus"); 33 let highlight = document.getElementById("UITourHighlightContainer"); 34 is( 35 highlight.getAttribute("targetName"), 36 "accountStatus", 37 "Correct highlight target" 38 ); 39 }), 40 41 taskify(async function test_highlight_accountStatus_loggedIn() { 42 gSync.updateAllUI({ 43 status: UIState.STATUS_SIGNED_IN, 44 lastSync: new Date(), 45 email: "foo@example.com", 46 }); 47 await showMenuPromise("appMenu"); 48 await showHighlightPromise("accountStatus"); 49 let highlight = document.getElementById("UITourHighlightContainer"); 50 is( 51 highlight.getAttribute("targetName"), 52 "accountStatus", 53 "Correct highlight target" 54 ); 55 }), 56 ]; 57 58 function signOut() { 59 // we always want a "localOnly" signout here... 60 return fxAccounts.signOut(true); 61 }