tor-browser

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

commit 5945d82e289bbad6935b42f5867abcd9d1cc4975
parent 3a006d1c8f2a58b5e6796683609690ebbf67a996
Author: mcarare <48995920+mcarare@users.noreply.github.com>
Date:   Thu, 20 Nov 2025 10:40:18 +0000

Bug 2000867 - Refactor LinkingMiddlewareTest to use StandardTestDispatcher r=android-reviewers,giorga

This patch replaces the usage of `MainCoroutineRule` and `runTestOnMain` with `StandardTestDispatcher` and `runTest`.

Differential Revision: https://phabricator.services.mozilla.com/D273392

Diffstat:
Mmobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/LinkingMiddlewareTest.kt | 30++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)

diff --git a/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/LinkingMiddlewareTest.kt b/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/engine/middleware/LinkingMiddlewareTest.kt @@ -4,6 +4,9 @@ package mozilla.components.browser.state.engine.middleware +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.runTest import mozilla.components.browser.state.action.EngineAction import mozilla.components.browser.state.action.TabListAction import mozilla.components.browser.state.selector.findTab @@ -13,12 +16,9 @@ import mozilla.components.browser.state.store.BrowserStore import mozilla.components.concept.engine.EngineSession import mozilla.components.support.test.any import mozilla.components.support.test.mock -import mozilla.components.support.test.rule.MainCoroutineRule -import mozilla.components.support.test.rule.runTestOnMain import org.junit.Assert.assertEquals import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull -import org.junit.Rule import org.junit.Test import org.mockito.ArgumentMatchers.anyBoolean import org.mockito.Mockito.anyString @@ -26,10 +26,8 @@ import org.mockito.Mockito.never import org.mockito.Mockito.verify class LinkingMiddlewareTest { - @get:Rule - val coroutinesTestRule = MainCoroutineRule() - private val dispatcher = coroutinesTestRule.testDispatcher - private val scope = coroutinesTestRule.scope + private val testDispatcher = StandardTestDispatcher() + private val scope = CoroutineScope(testDispatcher) @Test fun `loads URL after linking`() { @@ -44,7 +42,7 @@ class LinkingMiddlewareTest { val engineSession: EngineSession = mock() store.dispatch(EngineAction.LinkEngineSessionAction(tab.id, engineSession)) - dispatcher.scheduler.advanceUntilIdle() + testDispatcher.scheduler.advanceUntilIdle() verify(engineSession).loadUrl(tab.content.url) } @@ -70,7 +68,7 @@ class LinkingMiddlewareTest { val engineSession: EngineSession = mock() store.dispatch(EngineAction.LinkEngineSessionAction(tab.id, engineSession)) - dispatcher.scheduler.advanceUntilIdle() + testDispatcher.scheduler.advanceUntilIdle() verify(engineSession).loadUrl( url = tab.content.url, @@ -101,7 +99,7 @@ class LinkingMiddlewareTest { EngineAction.LinkEngineSessionAction(child.id, childEngineSession, includeParent = true), ) - dispatcher.scheduler.advanceUntilIdle() + testDispatcher.scheduler.advanceUntilIdle() verify(childEngineSession).loadUrl(child.content.url, parentEngineSession) } @@ -125,7 +123,7 @@ class LinkingMiddlewareTest { val childEngineSession: EngineSession = mock() store.dispatch(EngineAction.LinkEngineSessionAction(child.id, childEngineSession)) - dispatcher.scheduler.advanceUntilIdle() + testDispatcher.scheduler.advanceUntilIdle() verify(childEngineSession).loadUrl(child.content.url) } @@ -143,7 +141,7 @@ class LinkingMiddlewareTest { val engineSession: EngineSession = mock() store.dispatch(EngineAction.LinkEngineSessionAction(tab.id, engineSession, skipLoading = true)) - dispatcher.scheduler.advanceUntilIdle() + testDispatcher.scheduler.advanceUntilIdle() verify(engineSession, never()).loadUrl(tab.content.url) } @@ -160,13 +158,13 @@ class LinkingMiddlewareTest { val engineSession: EngineSession = mock() store.dispatch(EngineAction.LinkEngineSessionAction("invalid", engineSession)) - dispatcher.scheduler.advanceUntilIdle() + testDispatcher.scheduler.advanceUntilIdle() verify(engineSession, never()).loadUrl(anyString(), any(), any(), any(), any(), anyBoolean()) } @Test - fun `registers engine observer after linking`() = runTestOnMain { + fun `registers engine observer after linking`() = runTest { val tab1 = createTab("https://www.mozilla.org", id = "1") val tab2 = createTab("https://www.mozilla.org", id = "2") @@ -193,7 +191,7 @@ class LinkingMiddlewareTest { } @Test - fun `unregisters engine observer before unlinking`() = runTestOnMain { + fun `unregisters engine observer before unlinking`() = runTest { val tab1 = createTab("https://www.mozilla.org", id = "1") val tab2 = createTab("https://www.mozilla.org", id = "2") @@ -216,7 +214,7 @@ class LinkingMiddlewareTest { } @Test - fun `registers engine observer when tab is added with engine session`() = runTestOnMain { + fun `registers engine observer when tab is added with engine session`() = runTest { val engineSession: EngineSession = mock() val tab1 = createTab("https://www.mozilla.org", id = "1") val tab2 = createTab("https://www.mozilla.org", id = "2", engineSession = engineSession)