diff options
Diffstat (limited to 'browser/base/content/test/sync/head.js')
-rw-r--r-- | browser/base/content/test/sync/head.js | 25 |
1 files changed, 25 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..3888020b74 --- /dev/null +++ b/browser/base/content/test/sync/head.js @@ -0,0 +1,25 @@ +const { UIState } = ChromeUtils.import("resource://services-sync/UIState.jsm"); +const { sinon } = ChromeUtils.import("resource://testing-common/Sinon.jsm"); + +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, + }); + sandbox.stub(BrowserUtils, "isShareableURL").returns(isSendableURI); + sandbox.stub(fxAccounts.device, "refreshDeviceList").resolves(true); + sandbox.stub(fxAccounts.commands.sendTab, "send").resolves({ failed: [] }); + return sandbox; +} |