|
|
|
@ -29,6 +29,7 @@ import mozilla.components.support.test.middleware.CaptureActionsMiddleware
|
|
|
|
|
import mozilla.components.support.test.robolectric.testContext
|
|
|
|
|
import org.junit.After
|
|
|
|
|
import org.junit.Assert.assertEquals
|
|
|
|
|
import org.junit.Assert.assertFalse
|
|
|
|
|
import org.junit.Assert.assertNotNull
|
|
|
|
|
import org.junit.Assert.assertTrue
|
|
|
|
|
import org.junit.Before
|
|
|
|
@ -36,10 +37,10 @@ import org.junit.Rule
|
|
|
|
|
import org.junit.Test
|
|
|
|
|
import org.junit.runner.RunWith
|
|
|
|
|
import org.mozilla.fenix.BrowserDirection
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Events
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.SearchShortcuts
|
|
|
|
|
import org.mozilla.fenix.HomeActivity
|
|
|
|
|
import org.mozilla.fenix.R
|
|
|
|
|
import org.mozilla.fenix.components.metrics.Event
|
|
|
|
|
import org.mozilla.fenix.components.metrics.MetricController
|
|
|
|
|
import org.mozilla.fenix.components.metrics.MetricsUtils
|
|
|
|
|
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
|
|
|
|
@ -48,12 +49,9 @@ import org.mozilla.fenix.search.SearchDialogFragmentDirections.Companion.actionG
|
|
|
|
|
import org.mozilla.fenix.settings.SupportUtils
|
|
|
|
|
import org.mozilla.fenix.utils.Settings
|
|
|
|
|
|
|
|
|
|
@RunWith(FenixRobolectricTestRunner::class) // For gleanTestRule
|
|
|
|
|
@RunWith(FenixRobolectricTestRunner::class) // for gleanTestRule
|
|
|
|
|
class SearchDialogControllerTest {
|
|
|
|
|
|
|
|
|
|
@get:Rule
|
|
|
|
|
val gleanTestRule = GleanTestRule(testContext)
|
|
|
|
|
|
|
|
|
|
@MockK(relaxed = true) private lateinit var activity: HomeActivity
|
|
|
|
|
@MockK(relaxed = true) private lateinit var store: SearchDialogFragmentStore
|
|
|
|
|
@MockK(relaxed = true) private lateinit var navController: NavController
|
|
|
|
@ -64,6 +62,9 @@ class SearchDialogControllerTest {
|
|
|
|
|
private lateinit var middleware: CaptureActionsMiddleware<BrowserState, BrowserAction>
|
|
|
|
|
private lateinit var browserStore: BrowserStore
|
|
|
|
|
|
|
|
|
|
@get:Rule
|
|
|
|
|
val gleanTestRule = GleanTestRule(testContext)
|
|
|
|
|
|
|
|
|
|
@Before
|
|
|
|
|
fun setUp() {
|
|
|
|
|
MockKAnnotations.init(this)
|
|
|
|
@ -88,6 +89,7 @@ class SearchDialogControllerTest {
|
|
|
|
|
@Test
|
|
|
|
|
fun handleUrlCommitted() {
|
|
|
|
|
val url = "https://www.google.com/"
|
|
|
|
|
assertFalse(Events.enteredUrl.testHasValue())
|
|
|
|
|
|
|
|
|
|
createController().handleUrlCommitted(url)
|
|
|
|
|
|
|
|
|
@ -99,7 +101,11 @@ class SearchDialogControllerTest {
|
|
|
|
|
engine = searchEngine
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
verify { metrics.track(Event.EnteredUrl(false)) }
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.enteredUrl.testHasValue())
|
|
|
|
|
val snapshot = Events.enteredUrl.testGetValue()
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
assertEquals("false", snapshot.single().extra?.getValue("autocomplete"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@ -157,6 +163,7 @@ class SearchDialogControllerTest {
|
|
|
|
|
@Test
|
|
|
|
|
fun handleMozillaUrlCommitted() {
|
|
|
|
|
val url = "moz://a"
|
|
|
|
|
assertFalse(Events.enteredUrl.testHasValue())
|
|
|
|
|
|
|
|
|
|
createController().handleUrlCommitted(url)
|
|
|
|
|
|
|
|
|
@ -168,7 +175,11 @@ class SearchDialogControllerTest {
|
|
|
|
|
engine = searchEngine
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
verify { metrics.track(Event.EnteredUrl(false)) }
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.enteredUrl.testHasValue())
|
|
|
|
|
val snapshot = Events.enteredUrl.testGetValue()
|
|
|
|
|
assertEquals(1, snapshot.size)
|
|
|
|
|
assertEquals("false", snapshot.single().extra?.getValue("autocomplete"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@ -257,6 +268,7 @@ class SearchDialogControllerTest {
|
|
|
|
|
fun handleUrlTapped() {
|
|
|
|
|
val url = "https://www.google.com/"
|
|
|
|
|
val flags = EngineSession.LoadUrlFlags.all()
|
|
|
|
|
assertFalse(Events.enteredUrl.testHasValue())
|
|
|
|
|
|
|
|
|
|
createController().handleUrlTapped(url, flags)
|
|
|
|
|
createController().handleUrlTapped(url)
|
|
|
|
@ -269,7 +281,12 @@ class SearchDialogControllerTest {
|
|
|
|
|
flags = flags
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
verify { metrics.track(Event.EnteredUrl(false)) }
|
|
|
|
|
|
|
|
|
|
assertTrue(Events.enteredUrl.testHasValue())
|
|
|
|
|
val snapshot = Events.enteredUrl.testGetValue()
|
|
|
|
|
assertEquals(2, snapshot.size)
|
|
|
|
|
assertEquals("false", snapshot.first().extra?.getValue("autocomplete"))
|
|
|
|
|
assertEquals("false", snapshot[1].extra?.getValue("autocomplete"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|