Skip to content

Commit 1b05956

Browse files
Bridgeless-context ReactAccessibilityDelegateTest
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] Differential Revision: D126570685
1 parent 4624d6a commit 1b05956

1 file changed

Lines changed: 9 additions & 8 deletions

File tree

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

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,16 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
@file:Suppress("DEPRECATION")
9-
108
package com.facebook.react.uimanager
119

1210
import android.os.Bundle
1311
import android.view.accessibility.AccessibilityNodeInfo
1412
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat
1513
import com.facebook.react.R
16-
import com.facebook.react.bridge.BridgeReactContext
1714
import com.facebook.react.bridge.JavaOnlyArray
1815
import com.facebook.react.bridge.JavaOnlyMap
19-
import com.facebook.react.bridge.ReactTestHelper.createMockCatalystInstance
16+
import com.facebook.react.bridge.ReactApplicationContext
17+
import com.facebook.react.bridge.ReactTestHelper.createTestReactApplicationContext
2018
import com.facebook.react.bridge.UIManager
2119
import com.facebook.react.bridge.WritableMap
2220
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsForTests
@@ -26,33 +24,35 @@ import com.facebook.react.uimanager.events.EventDispatcher
2624
import com.facebook.react.uimanager.events.RCTEventEmitter
2725
import com.facebook.react.views.view.ReactViewGroup
2826
import com.facebook.testutils.shadows.ShadowArguments
27+
import com.facebook.testutils.shadows.ShadowSoLoader
2928
import org.assertj.core.api.Assertions.assertThat
3029
import org.junit.Before
3130
import org.junit.Test
3231
import org.junit.runner.RunWith
3332
import org.mockito.Mockito.mockStatic
3433
import org.mockito.kotlin.argumentCaptor
34+
import org.mockito.kotlin.doReturn
3535
import org.mockito.kotlin.eq
3636
import org.mockito.kotlin.mock
37+
import org.mockito.kotlin.spy
3738
import org.mockito.kotlin.verify
3839
import org.mockito.kotlin.whenever
3940
import org.robolectric.RobolectricTestRunner
4041
import org.robolectric.RuntimeEnvironment
4142
import org.robolectric.annotation.Config
4243

43-
@Config(shadows = [ShadowArguments::class])
44+
@Config(shadows = [ShadowArguments::class, ShadowSoLoader::class])
4445
@RunWith(RobolectricTestRunner::class)
4546
class ReactAccessibilityDelegateTest {
4647
private lateinit var view: ReactViewGroup
47-
private lateinit var reactContext: BridgeReactContext
48+
private lateinit var reactContext: ReactApplicationContext
4849
private lateinit var themedReactContext: ThemedReactContext
4950
private lateinit var accessibilityDelegate: ReactAccessibilityDelegate
5051

5152
@Before
5253
fun setUp() {
5354
ReactNativeFeatureFlagsForTests.setUp()
54-
reactContext = BridgeReactContext(RuntimeEnvironment.getApplication())
55-
reactContext.initializeWithInstance(createMockCatalystInstance())
55+
reactContext = spy(createTestReactApplicationContext(RuntimeEnvironment.getApplication()))
5656
themedReactContext = ThemedReactContext(reactContext, reactContext, null, -1)
5757
view = ReactViewGroup(themedReactContext).apply { id = 100 }
5858
accessibilityDelegate = ReactAccessibilityDelegate(view, false, 0)
@@ -266,6 +266,7 @@ class ReactAccessibilityDelegateTest {
266266
whenever(uiManager.eventDispatcher).thenReturn(eventDispatcher)
267267
val uiManagerHelper = mockStatic(UIManagerHelper::class.java)
268268
try {
269+
doReturn(true).whenever(reactContext).hasActiveReactInstance()
269270
uiManagerHelper
270271
.`when`<UIManager?> {
271272
UIManagerHelper.getUIManager(themedReactContext, UIManagerType.FABRIC)

0 commit comments

Comments
 (0)