tor-browser

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

commit c9d38448194bdeba26a4f869b3df10d62bd5d1c8
parent 3d2c49cd64cc36b2145ff64100e12ae397cb9885
Author: mcarare <48995920+mcarare@users.noreply.github.com>
Date:   Fri,  9 Jan 2026 14:50:50 +0000

Bug 2009368 - Update unit tests mocks for WebExtensionPromptFeature and ExternalAppBrowserActivity r=android-reviewers,giorga

- In `WebExtensionPromptFeatureTest`, update `Optional` permissions request mock to include extension metadata and a parsable `updateDate`.
- In `ExternalAppBrowserActivityTest`, ensure mocked intents return a `dataString` across multiple test cases.

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

Diffstat:
Mmobile/android/fenix/app/src/test/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivityTest.kt | 6++++++
Mmobile/android/fenix/app/src/test/java/org/mozilla/fenix/extension/WebExtensionPromptFeatureTest.kt | 10++++++++--
2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivityTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivityTest.kt @@ -99,6 +99,8 @@ class ExternalAppBrowserActivityTest { every { bundle.getString(any()) } returns "" every { intent.extras } returns bundle every { intent.getBooleanExtra(any(), any()) } returns false + every { intent.dataString } returns null + return intent } }, @@ -123,6 +125,8 @@ class ExternalAppBrowserActivityTest { every { bundle.getString(any()) } returns "" every { intent.getBooleanExtra(any(), any()) } returns true every { intent.extras } returns bundle + every { intent.dataString } returns null + return intent } }, @@ -151,6 +155,8 @@ class ExternalAppBrowserActivityTest { every { bundle.getString(any()) } returns "" every { intent.getBooleanExtra(any(), any()) } returns false every { intent.extras } returns bundle + every { intent.dataString } returns null + return intent } }, diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/extension/WebExtensionPromptFeatureTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/extension/WebExtensionPromptFeatureTest.kt @@ -19,7 +19,6 @@ import mozilla.components.browser.state.store.BrowserStore import mozilla.components.concept.engine.webextension.WebExtensionInstallException import mozilla.components.feature.addons.Addon import mozilla.components.support.ktx.android.content.appVersionName -import mozilla.components.support.test.ext.joinBlocking import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.test.rule.MainCoroutineRule import org.junit.Assert.assertFalse @@ -268,7 +267,14 @@ class WebExtensionPromptFeatureTest { @Test fun `GIVEN Optional Permissions WHEN handleAfterInstallationRequest is called THEN handleOptionalPermissionsRequest is called`() { webExtensionPromptFeature.start() - val request = mockk<WebExtensionPromptRequest.AfterInstallation.Permissions.Optional>(relaxed = true) + + val request = mockk<WebExtensionPromptRequest.AfterInstallation.Permissions.Optional>(relaxed = true) { + every { extension } returns mockk(relaxed = true) { + every { getMetadata() } returns mockk(relaxed = true) { + every { updateDate } returns "2023-10-27T10:15:30.500Z" + } + } + } webExtensionPromptFeature.handleAfterInstallationRequest(request)