diff options
Diffstat (limited to 'browser/modules/test/browser_BrowserUITelemetry_syncedtabs.js')
-rw-r--r-- | browser/modules/test/browser_BrowserUITelemetry_syncedtabs.js | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/browser/modules/test/browser_BrowserUITelemetry_syncedtabs.js b/browser/modules/test/browser_BrowserUITelemetry_syncedtabs.js deleted file mode 100644 index d3e1eac57..000000000 --- a/browser/modules/test/browser_BrowserUITelemetry_syncedtabs.js +++ /dev/null @@ -1,114 +0,0 @@ -// Test the SyncedTabs counters in BrowserUITelemetry. -"use strict"; - -const { BrowserUITelemetry: BUIT } = Cu.import("resource:///modules/BrowserUITelemetry.jsm", {}); -const {SyncedTabs} = Cu.import("resource://services-sync/SyncedTabs.jsm", {}); - -function mockSyncedTabs() { - // Mock SyncedTabs.jsm - let mockedInternal = { - get isConfiguredToSyncTabs() { return true; }, - getTabClients() { - return Promise.resolve([ - { - id: "guid_desktop", - type: "client", - name: "My Desktop", - tabs: [ - { - title: "http://example.com/10", - lastUsed: 10, // the most recent - }, - ], - } - ]); - }, - syncTabs() { - return Promise.resolve(); - }, - hasSyncedThisSession: true, - }; - - let oldInternal = SyncedTabs._internal; - SyncedTabs._internal = mockedInternal; - - // configure our broadcasters so we are in the right state. - document.getElementById("sync-reauth-state").hidden = true; - document.getElementById("sync-setup-state").hidden = true; - document.getElementById("sync-syncnow-state").hidden = false; - - registerCleanupFunction(() => { - SyncedTabs._internal = oldInternal; - - document.getElementById("sync-reauth-state").hidden = true; - document.getElementById("sync-setup-state").hidden = false; - document.getElementById("sync-syncnow-state").hidden = true; - }); -} - -mockSyncedTabs(); - -function promiseTabsUpdated() { - return new Promise(resolve => { - Services.obs.addObserver(function onNotification(aSubject, aTopic, aData) { - Services.obs.removeObserver(onNotification, aTopic); - resolve(); - }, "synced-tabs-menu:test:tabs-updated", false); - }); -} - -add_task(function* test_menu() { - // Reset BrowserUITelemetry's world. - BUIT._countableEvents = {}; - - let tabsUpdated = promiseTabsUpdated(); - - // check the button's functionality - yield PanelUI.show(); - - let syncButton = document.getElementById("sync-button"); - syncButton.click(); - - yield tabsUpdated; - // Get our 1 tab and click on it. - let tabList = document.getElementById("PanelUI-remotetabs-tabslist"); - let tabEntry = tabList.firstChild.nextSibling; - tabEntry.click(); - - let counts = BUIT._countableEvents[BUIT.currentBucket]; - Assert.deepEqual(counts, { - "click-builtin-item": { "sync-button": { left: 1 } }, - "synced-tabs": { open: { "toolbarbutton-subview": 1 } }, - }); -}); - -add_task(function* test_sidebar() { - // Reset BrowserUITelemetry's world. - BUIT._countableEvents = {}; - - yield SidebarUI.show('viewTabsSidebar'); - - let syncedTabsDeckComponent = SidebarUI.browser.contentWindow.syncedTabsDeckComponent; - - syncedTabsDeckComponent._accountStatus = () => Promise.resolve(true); - - // Once the tabs container has been selected (which here means "'selected' - // added to the class list") we are ready to test. - let container = SidebarUI.browser.contentDocument.querySelector(".tabs-container"); - let promiseUpdated = BrowserTestUtils.waitForAttribute("class", container); - - yield syncedTabsDeckComponent.updatePanel(); - yield promiseUpdated; - - let selectedPanel = syncedTabsDeckComponent.container.querySelector(".sync-state.selected"); - let tab = selectedPanel.querySelector(".tab"); - tab.click(); - let counts = BUIT._countableEvents[BUIT.currentBucket]; - Assert.deepEqual(counts, { - sidebar: { - viewTabsSidebar: { show: 1 }, - }, - "synced-tabs": { open: { sidebar: 1 } } - }); - yield SidebarUI.hide(); -}); |