tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mmobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/CrashMiddlewareTest.kt | 25++++++++++---------------
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) }