diff options
Diffstat (limited to 'browser/base/content/test/sync/head.js')
-rw-r--r-- | browser/base/content/test/sync/head.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/browser/base/content/test/sync/head.js b/browser/base/content/test/sync/head.js new file mode 100644 index 0000000000..10ffb2a2d2 --- /dev/null +++ b/browser/base/content/test/sync/head.js @@ -0,0 +1,34 @@ +const { UIState } = ChromeUtils.importESModule( + "resource://services-sync/UIState.sys.mjs" +); +const { sinon } = ChromeUtils.importESModule( + "resource://testing-common/Sinon.sys.mjs" +); + +function promiseSyncReady() { + let service = Cc["@mozilla.org/weave/service;1"].getService( + Ci.nsISupports + ).wrappedJSObject; + return service.whenLoaded(); +} + +function setupSendTabMocks({ + fxaDevices = null, + state = UIState.STATUS_SIGNED_IN, + isSendableURI = true, +}) { + const sandbox = sinon.createSandbox(); + sandbox.stub(fxAccounts.device, "recentDeviceList").get(() => fxaDevices); + sandbox.stub(UIState, "get").returns({ + status: state, + syncEnabled: true, + }); + if (isSendableURI) { + sandbox.stub(BrowserUtils, "getShareableURL").returnsArg(0); + } else { + sandbox.stub(BrowserUtils, "getShareableURL").returns(null); + } + sandbox.stub(fxAccounts.device, "refreshDeviceList").resolves(true); + sandbox.stub(fxAccounts.commands.sendTab, "send").resolves({ failed: [] }); + return sandbox; +} |