commit a8bc656b8280a3d43db5dc413d5918bd1489f72e
parent b34dc5f6f2d9b651ace58ac72949359721989770
Author: mcarare <48995920+mcarare@users.noreply.github.com>
Date: Fri, 21 Nov 2025 08:42:27 +0000
Bug 2001369 - Refactor CrashMiddlewareTest to remove MainCoroutineRule r=android-reviewers,giorga
This patch replaces the usage of `MainCoroutineRule` with `runTest` and `testScheduler`.
Differential Revision: https://phabricator.services.mozilla.com/D273533
Diffstat:
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/CrashMiddlewareTest.kt b/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/CrashMiddlewareTest.kt
@@ -4,6 +4,7 @@
package mozilla.components.browser.state.engine.middleware
+import kotlinx.coroutines.test.runTest
import mozilla.components.browser.state.action.CrashAction
import mozilla.components.browser.state.engine.EngineMiddleware
import mozilla.components.browser.state.state.BrowserState
@@ -13,21 +14,15 @@ import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.concept.engine.Engine
import mozilla.components.concept.engine.EngineSession
import mozilla.components.support.test.mock
-import mozilla.components.support.test.rule.MainCoroutineRule
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
-import org.junit.Rule
import org.junit.Test
import org.mockito.Mockito.doReturn
class CrashMiddlewareTest {
- @get:Rule
- val coroutinesTestRule = MainCoroutineRule()
- private val dispatcher = coroutinesTestRule.testDispatcher
- private val scope = coroutinesTestRule.scope
@Test
- fun `Crash and restore scenario`() {
+ fun `Crash and restore scenario`() = runTest {
val engineSession1: EngineSession = mock()
val engineSession2: EngineSession = mock()
val engineSession3: EngineSession = mock()
@@ -37,7 +32,7 @@ class CrashMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -77,7 +72,7 @@ class CrashMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
assertFalse(store.state.tabs[0].engineState.crashed)
assertFalse(store.state.tabs[1].engineState.crashed)
@@ -90,7 +85,7 @@ class CrashMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
// Restoring unknown session
store.dispatch(
@@ -99,7 +94,7 @@ class CrashMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
assertFalse(store.state.tabs[0].engineState.crashed)
assertFalse(store.state.tabs[1].engineState.crashed)
@@ -107,7 +102,7 @@ class CrashMiddlewareTest {
}
@Test
- fun `Restoring a crashed session without an engine session`() {
+ fun `Restoring a crashed session without an engine session`() = runTest {
val engineSession: EngineSession = mock()
val engine: Engine = mock()
doReturn(engineSession).`when`(engine).createSession()
@@ -115,7 +110,7 @@ class CrashMiddlewareTest {
val store = BrowserStore(
middleware = EngineMiddleware.create(
engine = engine,
- scope = scope,
+ scope = this,
),
initialState = BrowserState(
tabs = listOf(
@@ -130,7 +125,7 @@ class CrashMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
assertTrue(store.state.tabs[0].engineState.crashed)
@@ -140,7 +135,7 @@ class CrashMiddlewareTest {
),
)
- dispatcher.scheduler.advanceUntilIdle()
+ testScheduler.advanceUntilIdle()
assertFalse(store.state.tabs[0].engineState.crashed)
}