Skip to content

Simplify createTestReactApplicationContext calls - #59508

Open
christophpurrer wants to merge 20 commits into
react:mainfrom
christophpurrer:export-D127584468
Open

christophpurrer wants to merge 20 commits into
react:mainfrom
christophpurrer:export-D127584468

Conversation

@christophpurrer

Copy link
Copy Markdown
Contributor

Summary:
Use the default application argument of createTestReactApplicationContext
at every call site instead of passing RuntimeEnvironment.getApplication()
explicitly, and expose the helper as JvmStatic so the remaining Java test
no longer needs INSTANCE. Migrating that test to Kotlin is blocked by
inherited JVM signature clashes when subclassing BaseViewManagerDelegate
from Kotlin.

Changelog:
[Internal]

Differential Revision: D127584468

christophpurrer and others added 20 commits October 25, 2026 11:41
Summary:
Replace the deprecated `BridgeReactContext` + mock `CatalystInstance` setup with `createTestReactApplicationContext` and add the `ShadowSoLoader` Robolectric shadow the bridgeless helper needs.

Changelog: [Internal]

Differential Revision: D126570688
Summary:
Replace the deprecated `BridgeReactContext` + mock `CatalystInstance` setup with `createTestReactApplicationContext` and add the `ShadowSoLoader` Robolectric shadow the bridgeless helper needs.

Changelog: [Internal]

Differential Revision: D126570689
Summary:
Replace the deprecated `BridgeReactContext` + mock `CatalystInstance` setup with a spied `createTestReactApplicationContext`, stubbing `hasActiveReactInstance` and no-opping `emitDeviceEvent` to preserve emission verification.

Changelog: [Internal]

Differential Revision: D126570690
Summary:
Replace the deprecated `BridgeReactContext` + mock `CatalystInstance` setup with a spied `createTestReactApplicationContext`, moving the `UIManagerModule` stub onto the context spy and no-opping `emitDeviceEvent`.

Changelog: [Internal]

Differential Revision: D126570692
Summary:
Migrate `FabricUIManagerPullModelTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly.

Changelog:
[Internal]

Differential Revision: D126574347
Summary:
Migrate `MountingManagerAnimatedPropsTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly.

Changelog:
[Internal]

Differential Revision: D126574351
Summary:
Migrate `SurfaceMountingManagerSynchronousMountPropsTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly.

Changelog:
[Internal]

Differential Revision: D126574353
Summary:
Migrate `SurfaceMountingManagerTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly. Add the `ShadowSoLoader`
Robolectric shadow, which the new helper needs to mock the component factory.

Changelog:
[Internal]

Differential Revision: D126574354
Summary:
Migrate `BaseViewManagerDelegateTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly. Add the `ShadowSoLoader`
Robolectric shadow, which the new helper needs to mock the component factory.

Changelog:
[Internal]

Differential Revision: D126574355
Summary:
Migrate `ImageLoaderModuleTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly. Stub the feature flags
before context creation, since the bridgeless context reads them during init.

Changelog:
[Internal]

Differential Revision: D126574356
Summary:
Migrate `ShareModuleTest` from the deprecated `createCatalystContextForTest`
helper to `createTestReactApplicationContext`, so the test builds a bridgeless
context directly. Add the `ShadowSoLoader` Robolectric shadow and stub the
feature flags before context creation, since the bridgeless context reads
them during init.

Changelog:
[Internal]

Differential Revision: D126574357
Summary:
Migrate `ReactScrollViewHelperFlingAnimatorTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly. Stub the feature flags
before context creation, since the bridgeless context reads them during init.

Changelog:
[Internal]

Differential Revision: D126574358
Summary:
Migrate `SurfaceMountingManagerEventOrderingTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly.

Changelog:
[Internal]

Differential Revision: D126574360
Summary:
Migrate `ThemedReactContextTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly. Stub the feature flags
before context creation, since the bridgeless context reads them during init.

Changelog:
[Internal]

Differential Revision: D126574361
Summary:
Migrate `BlobModuleTest` from the deprecated `createCatalystContextForTest`
helper to `createTestReactApplicationContext`, so the test builds a bridgeless
context directly. Add the `ShadowSoLoader` Robolectric shadow and stub the
feature flags before context creation, since the bridgeless context reads
them during init.

Changelog:
[Internal]

Differential Revision: D126574362
Summary:
Migrate `TouchEventDispatchTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly. Install a mocked
`ReactQueueConfiguration` via `initializeMessageQueueThreads` to satisfy the
UI-thread check in `FabricEventDispatcher`, which the mock catalyst
previously provided.

Changelog:
[Internal]

Differential Revision: D126574364
Summary:
Migrate `ReactScrollViewTouchCancelTest` from the deprecated
`BridgeReactContext` + mock `CatalystInstance` setup to
`createTestReactApplicationContext`, so the test builds a bridgeless context
directly. Add the `ShadowSoLoader` Robolectric shadow the bridgeless helper
needs.

Changelog:
[Internal]

Differential Revision: D127469706
Summary:
Migrate `ReactEditTextOutlineTest` from the deprecated
`createCatalystContextForTest` helper to `createTestReactApplicationContext`,
so the test builds a bridgeless context directly. Add the `ShadowSoLoader`
Robolectric shadow the bridgeless helper needs.

Changelog:
[Internal]

Differential Revision: D127469707
Summary:
Delete the deprecated `createCatalystContextForTest` and
`createMockCatalystInstance` helpers from `ReactTestHelper`, now that every
caller has migrated to `createTestReactApplicationContext`. Drop the
file-level deprecation suppression and its TODO, which only existed for the
removed helpers.

Changelog:
[Internal]

Differential Revision: D126576088
Summary:
Use the default `application` argument of `createTestReactApplicationContext`
at every call site instead of passing `RuntimeEnvironment.getApplication()`
explicitly, and expose the helper as `JvmStatic` so the remaining Java test
no longer needs `INSTANCE`. Migrating that test to Kotlin is blocked by
inherited JVM signature clashes when subclassing `BaseViewManagerDelegate`
from Kotlin.

Changelog:
[Internal]

Differential Revision: D127584468
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 26, 2026
@meta-codesync

meta-codesync Bot commented Oct 26, 2026

Copy link
Copy Markdown

@christophpurrer has exported this pull request. If you are a Meta employee, you can view the originating Diff in D127584468.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant