Bug 1447829 - Fix the "now" anchor for relative date in browser_sync.js test. r?markh draft
authorEdouard Oger <eoger@fastmail.com>
Thu, 22 Mar 2018 18:21:26 -0400
changeset 771772 9bf8fe7467d4b66eb54e4dc2f4487621e96a0206
parent 771261 8bf380faae74e4921be6000496ca09d4a2c44e8d
push id103784
push userbmo:eoger@fastmail.com
push dateFri, 23 Mar 2018 20:57:22 +0000
reviewersmarkh
bugs1447829
milestone61.0a1
Bug 1447829 - Fix the "now" anchor for relative date in browser_sync.js test. r?markh MozReview-Commit-ID: GPiFRQedMgQ
browser/base/content/test/sync/browser_sync.js
--- a/browser/base/content/test/sync/browser_sync.js
+++ b/browser/base/content/test/sync/browser_sync.js
@@ -15,39 +15,48 @@ add_task(async function test_ui_state_no
 
   Services.obs.notifyObservers(null, UIState.ON_UPDATE);
   ok(called);
 
   gSync.updateAllUI = updateAllUI;
 });
 
 add_task(async function test_ui_state_signedin() {
+  const relativeDateAnchor = new Date();
   let state = {
     status: UIState.STATUS_SIGNED_IN,
     email: "foo@bar.com",
     displayName: "Foo Bar",
     avatarURL: "https://foo.bar",
     lastSync: new Date(),
     syncing: false
   };
 
+  const origRelativeTimeFormat = gSync.relativeTimeFormat;
+  gSync.relativeTimeFormat = {
+    formatBestUnit(date) {
+      return origRelativeTimeFormat.formatBestUnit(date, {now: relativeDateAnchor});
+    }
+  };
+
   gSync.updateAllUI(state);
 
   let statusBarTooltip = gSync.appMenuStatus.getAttribute("signedinTooltiptext");
   let lastSyncTooltip = gSync.formatLastSyncDate(new Date(state.lastSync));
   checkPanelUIStatusBar({
     label: "Foo Bar",
     tooltip: statusBarTooltip,
     fxastatus: "signedin",
     avatarURL: "https://foo.bar",
     syncing: false,
     syncNowTooltip: lastSyncTooltip
   });
   checkRemoteTabsPanel("PanelUI-remotetabs-main", false);
   checkMenuBarItem("sync-syncnowitem");
+  gSync.relativeTimeFormat = origRelativeTimeFormat;
 });
 
 add_task(async function test_ui_state_syncing() {
   let state = {
     status: UIState.STATUS_SIGNED_IN,
     email: "foo@bar.com",
     displayName: "Foo Bar",
     avatarURL: "https://foo.bar",