Skip to content

Commit 61364a0

Browse files
Bridgeless-context ReactAccessibilityDelegateTest (#59265)
Summary: Replace the deprecated `BridgeReactContext` + mock `CatalystInstance` setup with a spied `createTestReactApplicationContext`, stub `hasActiveReactInstance` for the dispatch test, and add the `ShadowSoLoader` Robolectric shadow. Changelog: [Internal] Reviewed By: mdvacca, Abbondanzo Differential Revision: D126570685
1 parent 4fac9c8 commit 61364a0

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

‎packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactAccessibilityDelegateTest.kt‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ import android.os.Bundle
1313
import android.view.accessibility.AccessibilityNodeInfo
1414
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat
1515
import com.facebook.react.R
16-
import com.facebook.react.bridge.BridgeReactContext
1716
import com.facebook.react.bridge.JavaOnlyArray
1817
import com.facebook.react.bridge.JavaOnlyMap
19-
import com.facebook.react.bridge.ReactTestHelper.createMockCatalystInstance
18+
import com.facebook.react.bridge.ReactApplicationContext
19+
import com.facebook.react.bridge.ReactTestHelper.createTestReactApplicationContext
2020
import com.facebook.react.bridge.UIManager
2121
import com.facebook.react.bridge.WritableMap
2222
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsForTests
@@ -26,33 +26,35 @@ import com.facebook.react.uimanager.events.EventDispatcher
2626
import com.facebook.react.uimanager.events.RCTEventEmitter
2727
import com.facebook.react.views.view.ReactViewGroup
2828
import com.facebook.testutils.shadows.ShadowArguments
29+
import com.facebook.testutils.shadows.ShadowSoLoader
2930
import org.assertj.core.api.Assertions.assertThat
3031
import org.junit.Before
3132
import org.junit.Test
3233
import org.junit.runner.RunWith
3334
import org.mockito.Mockito.mockStatic
3435
import org.mockito.kotlin.argumentCaptor
36+
import org.mockito.kotlin.doReturn
3537
import org.mockito.kotlin.eq
3638
import org.mockito.kotlin.mock
39+
import org.mockito.kotlin.spy
3740
import org.mockito.kotlin.verify
3841
import org.mockito.kotlin.whenever
3942
import org.robolectric.RobolectricTestRunner
4043
import org.robolectric.RuntimeEnvironment
4144
import org.robolectric.annotation.Config
4245

43-
@Config(shadows = [ShadowArguments::class])
46+
@Config(shadows = [ShadowArguments::class, ShadowSoLoader::class])
4447
@RunWith(RobolectricTestRunner::class)
4548
class ReactAccessibilityDelegateTest {
4649
private lateinit var view: ReactViewGroup
47-
private lateinit var reactContext: BridgeReactContext
50+
private lateinit var reactContext: ReactApplicationContext
4851
private lateinit var themedReactContext: ThemedReactContext
4952
private lateinit var accessibilityDelegate: ReactAccessibilityDelegate
5053

5154
@Before
5255
fun setUp() {
5356
ReactNativeFeatureFlagsForTests.setUp()
54-
reactContext = BridgeReactContext(RuntimeEnvironment.getApplication())
55-
reactContext.initializeWithInstance(createMockCatalystInstance())
57+
reactContext = spy(createTestReactApplicationContext(RuntimeEnvironment.getApplication()))
5658
themedReactContext = ThemedReactContext(reactContext, reactContext, null, -1)
5759
view = ReactViewGroup(themedReactContext).apply { id = 100 }
5860
accessibilityDelegate = ReactAccessibilityDelegate(view, false, 0)
@@ -266,6 +268,7 @@ class ReactAccessibilityDelegateTest {
266268
whenever(uiManager.eventDispatcher).thenReturn(eventDispatcher)
267269
val uiManagerHelper = mockStatic(UIManagerHelper::class.java)
268270
try {
271+
doReturn(true).whenever(reactContext).hasActiveReactInstance()
269272
uiManagerHelper
270273
.`when`<UIManager?> {
271274
UIManagerHelper.getUIManager(themedReactContext, UIManagerType.FABRIC)

0 commit comments

Comments
 (0)