summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/sync/head.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/sync/head.js')
-rw-r--r--browser/base/content/test/sync/head.js25
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;
+}