[fenix] Fix intermittent test failures in ToolbarViewTest

pull/600/head
Christian Sadilek 3 years ago committed by mergify[bot]
parent b901490a1b
commit 24b4a03d32

@ -8,12 +8,9 @@ import android.content.Context
import androidx.appcompat.view.ContextThemeWrapper import androidx.appcompat.view.ContextThemeWrapper
import androidx.core.graphics.drawable.toBitmap import androidx.core.graphics.drawable.toBitmap
import io.mockk.MockKAnnotations import io.mockk.MockKAnnotations
import io.mockk.Runs
import io.mockk.every import io.mockk.every
import io.mockk.impl.annotations.MockK import io.mockk.impl.annotations.MockK
import io.mockk.just
import io.mockk.mockk import io.mockk.mockk
import io.mockk.slot
import io.mockk.spyk import io.mockk.spyk
import io.mockk.verify import io.mockk.verify
import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.browser.toolbar.BrowserToolbar
@ -23,6 +20,7 @@ import mozilla.components.concept.toolbar.Toolbar
import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.test.robolectric.testContext
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
@ -72,20 +70,26 @@ class ToolbarViewTest {
@Test @Test
fun `sets up interactor listeners`() { fun `sets up interactor listeners`() {
val urlCommitListener = slot<(String) -> Boolean>() var urlCommitListener: ((String) -> Boolean)? = null
val editListener = slot<Toolbar.OnEditListener>() var editListener: Toolbar.OnEditListener? = null
every { toolbar.setOnUrlCommitListener(capture(urlCommitListener)) } just Runs every { toolbar.setOnUrlCommitListener(any()) } answers {
every { toolbar.setOnEditListener(capture(editListener)) } just Runs urlCommitListener = firstArg()
}
every { toolbar.setOnEditListener(any()) } answers {
editListener = firstArg()
}
buildToolbarView(isPrivate = false) buildToolbarView(isPrivate = false)
assertFalse(urlCommitListener.captured("test")) assertNotNull(urlCommitListener)
assertFalse(urlCommitListener!!("test"))
verify { interactor.onUrlCommitted("test") } verify { interactor.onUrlCommitted("test") }
assertFalse(editListener.captured.onCancelEditing()) assertNotNull(editListener)
assertFalse(editListener!!.onCancelEditing())
verify { interactor.onEditingCanceled() } verify { interactor.onEditingCanceled() }
editListener.captured.onTextChanged("https://example.com") editListener!!.onTextChanged("https://example.com")
verify { interactor.onTextChanged("https://example.com") } verify { interactor.onTextChanged("https://example.com") }
} }

Loading…
Cancel
Save