|
|
|
@ -7,7 +7,9 @@ package org.mozilla.fenix
|
|
|
|
|
import android.content.Intent
|
|
|
|
|
import android.os.Bundle
|
|
|
|
|
import io.mockk.every
|
|
|
|
|
import io.mockk.mockk
|
|
|
|
|
import io.mockk.spyk
|
|
|
|
|
import io.mockk.verify
|
|
|
|
|
import mozilla.components.support.test.robolectric.testContext
|
|
|
|
|
import mozilla.components.support.utils.toSafeIntent
|
|
|
|
|
import org.junit.Assert.assertEquals
|
|
|
|
@ -20,9 +22,12 @@ import org.junit.Test
|
|
|
|
|
import org.junit.runner.RunWith
|
|
|
|
|
import org.mozilla.fenix.HomeActivity.Companion.PRIVATE_BROWSING_MODE
|
|
|
|
|
import org.mozilla.fenix.browser.browsingmode.BrowsingMode
|
|
|
|
|
import org.mozilla.fenix.browser.browsingmode.BrowsingModeManager
|
|
|
|
|
import org.mozilla.fenix.components.metrics.Event
|
|
|
|
|
import org.mozilla.fenix.ext.components
|
|
|
|
|
import org.mozilla.fenix.ext.settings
|
|
|
|
|
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
|
|
|
|
|
import org.mozilla.fenix.utils.Settings
|
|
|
|
|
|
|
|
|
|
@RunWith(FenixRobolectricTestRunner::class)
|
|
|
|
|
class HomeActivityTest {
|
|
|
|
@ -32,8 +37,6 @@ class HomeActivityTest {
|
|
|
|
|
@Before
|
|
|
|
|
fun setup() {
|
|
|
|
|
activity = spyk(HomeActivity())
|
|
|
|
|
|
|
|
|
|
every { activity.applicationContext } returns testContext
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@ -52,6 +55,7 @@ class HomeActivityTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `getModeFromIntentOrLastKnown returns mode from settings when intent does not set`() {
|
|
|
|
|
every { activity.applicationContext } returns testContext
|
|
|
|
|
testContext.settings().lastKnownMode = BrowsingMode.Private
|
|
|
|
|
|
|
|
|
|
assertEquals(testContext.settings().lastKnownMode, activity.getModeFromIntentOrLastKnown(null))
|
|
|
|
@ -87,6 +91,38 @@ class HomeActivityTest {
|
|
|
|
|
assertFalse(activity.isActivityColdStarted(startingIntent, null))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `navigateToBrowserOnColdStart in normal mode navigates to browser`() {
|
|
|
|
|
val browsingModeManager: BrowsingModeManager = mockk()
|
|
|
|
|
every { browsingModeManager.mode } returns BrowsingMode.Normal
|
|
|
|
|
|
|
|
|
|
val settings: Settings = mockk()
|
|
|
|
|
every { settings.shouldReturnToBrowser } returns true
|
|
|
|
|
every { activity.components.settings.shouldReturnToBrowser } returns true
|
|
|
|
|
every { activity.openToBrowser(any(), any()) } returns Unit
|
|
|
|
|
|
|
|
|
|
activity.browsingModeManager = browsingModeManager
|
|
|
|
|
activity.navigateToBrowserOnColdStart()
|
|
|
|
|
|
|
|
|
|
verify(exactly = 1) { activity.openToBrowser(BrowserDirection.FromGlobal, null) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `navigateToBrowserOnColdStart in private mode does not navigate to browser`() {
|
|
|
|
|
val browsingModeManager: BrowsingModeManager = mockk()
|
|
|
|
|
every { browsingModeManager.mode } returns BrowsingMode.Private
|
|
|
|
|
|
|
|
|
|
val settings: Settings = mockk()
|
|
|
|
|
every { settings.shouldReturnToBrowser } returns true
|
|
|
|
|
every { activity.components.settings.shouldReturnToBrowser } returns true
|
|
|
|
|
every { activity.openToBrowser(any(), any()) } returns Unit
|
|
|
|
|
|
|
|
|
|
activity.browsingModeManager = browsingModeManager
|
|
|
|
|
activity.navigateToBrowserOnColdStart()
|
|
|
|
|
|
|
|
|
|
verify(exactly = 0) { activity.openToBrowser(BrowserDirection.FromGlobal, null) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `isActivityColdStarted returns false for null savedInstanceState and not launched from history`() {
|
|
|
|
|
val startingIntent = Intent().apply {
|
|
|
|
|