|
|
@ -50,6 +50,7 @@ import mozilla.components.support.test.robolectric.testContext
|
|
|
|
import mozilla.components.support.test.rule.MainCoroutineRule
|
|
|
|
import mozilla.components.support.test.rule.MainCoroutineRule
|
|
|
|
import org.junit.After
|
|
|
|
import org.junit.After
|
|
|
|
import org.junit.Assert.assertEquals
|
|
|
|
import org.junit.Assert.assertEquals
|
|
|
|
|
|
|
|
import org.junit.Assert.assertFalse
|
|
|
|
import org.junit.Assert.assertNotNull
|
|
|
|
import org.junit.Assert.assertNotNull
|
|
|
|
import org.junit.Assert.assertTrue
|
|
|
|
import org.junit.Assert.assertTrue
|
|
|
|
import org.junit.Before
|
|
|
|
import org.junit.Before
|
|
|
@ -57,6 +58,7 @@ import org.junit.Rule
|
|
|
|
import org.junit.Test
|
|
|
|
import org.junit.Test
|
|
|
|
import org.junit.runner.RunWith
|
|
|
|
import org.junit.runner.RunWith
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Collections
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Collections
|
|
|
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Events
|
|
|
|
import org.mozilla.fenix.HomeActivity
|
|
|
|
import org.mozilla.fenix.HomeActivity
|
|
|
|
import org.mozilla.fenix.NavGraphDirections
|
|
|
|
import org.mozilla.fenix.NavGraphDirections
|
|
|
|
import org.mozilla.fenix.R
|
|
|
|
import org.mozilla.fenix.R
|
|
|
@ -169,9 +171,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
bookmarkTappedInvoked = true
|
|
|
|
bookmarkTappedInvoked = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.BOOKMARK)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("bookmark", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(bookmarkTappedInvoked)
|
|
|
|
assertTrue(bookmarkTappedInvoked)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -197,9 +205,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
bookmarkTappedInvoked = true
|
|
|
|
bookmarkTappedInvoked = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.BOOKMARK)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("bookmark", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(bookmarkTappedInvoked)
|
|
|
|
assertTrue(bookmarkTappedInvoked)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -253,9 +267,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Back(false)
|
|
|
|
val item = ToolbarMenu.Item.Back(false)
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.BACK)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("back", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify { sessionUseCases.goBack(browserStore.state.selectedTabId!!) }
|
|
|
|
verify { sessionUseCases.goBack(browserStore.state.selectedTabId!!) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -264,11 +284,16 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Back(true)
|
|
|
|
val item = ToolbarMenu.Item.Back(true)
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("back", snapshot.single().extra?.getValue("item"))
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalTabHistoryDialogFragment(null)
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalTabHistoryDialogFragment(null)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.BACK)) }
|
|
|
|
|
|
|
|
verify { navController.navigate(directions) }
|
|
|
|
verify { navController.navigate(directions) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -277,9 +302,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Forward(false)
|
|
|
|
val item = ToolbarMenu.Item.Forward(false)
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.FORWARD)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("forward", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify { sessionUseCases.goForward(selectedTab.id) }
|
|
|
|
verify { sessionUseCases.goForward(selectedTab.id) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -288,11 +319,17 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Forward(true)
|
|
|
|
val item = ToolbarMenu.Item.Forward(true)
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("forward", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalTabHistoryDialogFragment(null)
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalTabHistoryDialogFragment(null)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.FORWARD)) }
|
|
|
|
|
|
|
|
verify { navController.navigate(directions) }
|
|
|
|
verify { navController.navigate(directions) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -301,9 +338,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Reload(false)
|
|
|
|
val item = ToolbarMenu.Item.Reload(false)
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.RELOAD)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("reload", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify { sessionUseCases.reload(selectedTab.id) }
|
|
|
|
verify { sessionUseCases.reload(selectedTab.id) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -312,9 +355,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Reload(true)
|
|
|
|
val item = ToolbarMenu.Item.Reload(true)
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.RELOAD)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("reload", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
verify {
|
|
|
|
sessionUseCases.reload(
|
|
|
|
sessionUseCases.reload(
|
|
|
|
selectedTab.id,
|
|
|
|
selectedTab.id,
|
|
|
@ -328,9 +377,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Stop
|
|
|
|
val item = ToolbarMenu.Item.Stop
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.STOP)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("stop", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify { sessionUseCases.stopLoading(selectedTab.id) }
|
|
|
|
verify { sessionUseCases.stopLoading(selectedTab.id) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -339,11 +394,16 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Settings
|
|
|
|
val item = ToolbarMenu.Item.Settings
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("settings", snapshot.single().extra?.getValue("item"))
|
|
|
|
val directions = BrowserFragmentDirections.actionBrowserFragmentToSettingsFragment()
|
|
|
|
val directions = BrowserFragmentDirections.actionBrowserFragmentToSettingsFragment()
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.SETTINGS)) }
|
|
|
|
|
|
|
|
verify { navController.navigate(directions, null) }
|
|
|
|
verify { navController.navigate(directions, null) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -352,11 +412,16 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.Bookmarks
|
|
|
|
val item = ToolbarMenu.Item.Bookmarks
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("bookmarks", snapshot.single().extra?.getValue("item"))
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalBookmarkFragment(BookmarkRoot.Mobile.id)
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalBookmarkFragment(BookmarkRoot.Mobile.id)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.BOOKMARKS)) }
|
|
|
|
|
|
|
|
verify { navController.navigate(directions, null) }
|
|
|
|
verify { navController.navigate(directions, null) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -365,11 +430,16 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.History
|
|
|
|
val item = ToolbarMenu.Item.History
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("history", snapshot.single().extra?.getValue("item"))
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalHistoryFragment()
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalHistoryFragment()
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.HISTORY)) }
|
|
|
|
|
|
|
|
verify { navController.navigate(directions, null) }
|
|
|
|
verify { navController.navigate(directions, null) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -382,9 +452,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
every { sessionUseCases.requestDesktopSite } returns requestDesktopSiteUseCase
|
|
|
|
every { sessionUseCases.requestDesktopSite } returns requestDesktopSiteUseCase
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.DESKTOP_VIEW_ON)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("desktop_view_on", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
verify {
|
|
|
|
requestDesktopSiteUseCase.invoke(
|
|
|
|
requestDesktopSiteUseCase.invoke(
|
|
|
|
true,
|
|
|
|
true,
|
|
|
@ -402,9 +478,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
every { sessionUseCases.requestDesktopSite } returns requestDesktopSiteUseCase
|
|
|
|
every { sessionUseCases.requestDesktopSite } returns requestDesktopSiteUseCase
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.DESKTOP_VIEW_OFF)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("desktop_view_off", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
verify {
|
|
|
|
requestDesktopSiteUseCase.invoke(
|
|
|
|
requestDesktopSiteUseCase.invoke(
|
|
|
|
false,
|
|
|
|
false,
|
|
|
@ -424,11 +506,17 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
} returns "Added to shorcuts!"
|
|
|
|
} returns "Added to shorcuts!"
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("add_to_top_sites", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify { addPinnedSiteUseCase.invoke(selectedTab.content.title, selectedTab.content.url) }
|
|
|
|
verify { addPinnedSiteUseCase.invoke(selectedTab.content.title, selectedTab.content.url) }
|
|
|
|
verify { snackbar.setText("Added to shorcuts!") }
|
|
|
|
verify { snackbar.setText("Added to shorcuts!") }
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.ADD_TO_TOP_SITES)) }
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
@ -446,10 +534,16 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
} returns snackbarMessage
|
|
|
|
} returns snackbarMessage
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("remove_from_top_sites", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify { snackbar.setText(snackbarMessage) }
|
|
|
|
verify { snackbar.setText(snackbarMessage) }
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.REMOVE_FROM_TOP_SITES)) }
|
|
|
|
|
|
|
|
verify { removePinnedSiteUseCase.invoke(topSite) }
|
|
|
|
verify { removePinnedSiteUseCase.invoke(topSite) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -458,9 +552,14 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.AddonsManager
|
|
|
|
val item = ToolbarMenu.Item.AddonsManager
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.ADDONS_MANAGER)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("addons_manager", snapshot.single().extra?.getValue("item"))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
@ -468,9 +567,14 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
val item = ToolbarMenu.Item.AddToHomeScreen
|
|
|
|
val item = ToolbarMenu.Item.AddToHomeScreen
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.ADD_TO_HOMESCREEN)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("add_to_homescreen", snapshot.single().extra?.getValue("item"))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
@ -485,9 +589,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
)
|
|
|
|
)
|
|
|
|
browserStore = BrowserStore(BrowserState(tabs = listOf(regularTab), selectedTabId = regularTab.id))
|
|
|
|
browserStore = BrowserStore(BrowserState(tabs = listOf(regularTab), selectedTabId = regularTab.id))
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.SHARE)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("share", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
verify {
|
|
|
|
navController.navigate(
|
|
|
|
navController.navigate(
|
|
|
|
directionsEq(
|
|
|
|
directionsEq(
|
|
|
@ -512,9 +622,15 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
)
|
|
|
|
)
|
|
|
|
browserStore = BrowserStore(BrowserState(tabs = listOf(readerTab), selectedTabId = readerTab.id))
|
|
|
|
browserStore = BrowserStore(BrowserState(tabs = listOf(readerTab), selectedTabId = readerTab.id))
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.SHARE)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("share", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
verify {
|
|
|
|
navController.navigate(
|
|
|
|
navController.navigate(
|
|
|
|
directionsEq(
|
|
|
|
directionsEq(
|
|
|
@ -550,13 +666,14 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
every { tabCollectionStorage.cachedTabCollections } returns cachedTabCollections
|
|
|
|
every { tabCollectionStorage.cachedTabCollections } returns cachedTabCollections
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify {
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
metrics.track(
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.SAVE_TO_COLLECTION)
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
)
|
|
|
|
assertEquals("save_to_collection", snapshot.single().extra?.getValue("item"))
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Collections.saveButton.testHasValue())
|
|
|
|
assertTrue(Collections.saveButton.testHasValue())
|
|
|
|
val recordedEvents = Collections.saveButton.testGetValue()
|
|
|
|
val recordedEvents = Collections.saveButton.testGetValue()
|
|
|
@ -584,9 +701,14 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
every { tabCollectionStorage.cachedTabCollections } returns cachedTabCollectionsEmpty
|
|
|
|
every { tabCollectionStorage.cachedTabCollections } returns cachedTabCollectionsEmpty
|
|
|
|
|
|
|
|
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
val controller = createController(scope = this, store = browserStore)
|
|
|
|
|
|
|
|
assertFalse(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
controller.handleToolbarItemInteraction(item)
|
|
|
|
|
|
|
|
|
|
|
|
verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.SAVE_TO_COLLECTION)) }
|
|
|
|
assertTrue(Events.browserMenuAction.testHasValue())
|
|
|
|
|
|
|
|
val snapshot = Events.browserMenuAction.testGetValue()
|
|
|
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
|
|
|
assertEquals("save_to_collection", snapshot.single().extra?.getValue("item"))
|
|
|
|
|
|
|
|
|
|
|
|
assertTrue(Collections.saveButton.testHasValue())
|
|
|
|
assertTrue(Collections.saveButton.testHasValue())
|
|
|
|
val recordedEvents = Collections.saveButton.testGetValue()
|
|
|
|
val recordedEvents = Collections.saveButton.testGetValue()
|
|
|
@ -598,7 +720,6 @@ class DefaultBrowserToolbarMenuControllerTest {
|
|
|
|
DefaultBrowserToolbarMenuController.TELEMETRY_BROWSER_IDENTIFIER,
|
|
|
|
DefaultBrowserToolbarMenuController.TELEMETRY_BROWSER_IDENTIFIER,
|
|
|
|
eventExtra["from_screen"]
|
|
|
|
eventExtra["from_screen"]
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalCollectionCreationFragment(
|
|
|
|
val directions = BrowserFragmentDirections.actionGlobalCollectionCreationFragment(
|
|
|
|
saveCollectionStep = SaveCollectionStep.NameCollection,
|
|
|
|
saveCollectionStep = SaveCollectionStep.NameCollection,
|
|
|
|
tabIds = arrayOf(selectedTab.id),
|
|
|
|
tabIds = arrayOf(selectedTab.id),
|
|
|
|