Skip to content

Commit 2b24e83

Browse files
Bridgeless-context ReactScrollViewTouchCancelTest
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
1 parent 0d7cf00 commit 2b24e83

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

‎packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/scroll/ReactScrollViewTouchCancelTest.kt‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import android.view.MotionEvent
1717
import android.view.View
1818
import android.view.ViewGroup
1919
import android.widget.FrameLayout
20-
import com.facebook.react.bridge.BridgeReactContext
21-
import com.facebook.react.bridge.ReactTestHelper.createMockCatalystInstance
20+
import com.facebook.react.bridge.ReactApplicationContext
21+
import com.facebook.react.bridge.ReactTestHelper.createTestReactApplicationContext
2222
import com.facebook.react.bridge.ScrollEndedListener
2323
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsForTests
2424
import com.facebook.react.uimanager.DisplayMetricsHolder
@@ -27,6 +27,7 @@ import com.facebook.react.uimanager.ThemedReactContext
2727
import com.facebook.react.uimanager.UIManagerHelper
2828
import com.facebook.react.uimanager.events.EventDispatcher
2929
import com.facebook.soloader.SoLoader
30+
import com.facebook.testutils.shadows.ShadowSoLoader
3031
import java.time.Duration
3132
import org.assertj.core.api.Assertions.assertThat
3233
import org.junit.After
@@ -43,14 +44,16 @@ import org.robolectric.Robolectric
4344
import org.robolectric.RuntimeEnvironment
4445
import org.robolectric.Shadows.shadowOf
4546
import org.robolectric.android.controller.ActivityController
47+
import org.robolectric.annotation.Config
4648
import org.robolectric.annotation.LooperMode
4749

4850
/** Cancelled drags must emit END_DRAG once and complete native scrolling cleanup. */
4951
@SuppressLint("DeprecatedClass", "DeprecatedMethod")
52+
@Config(shadows = [ShadowSoLoader::class])
5053
@RunWith(ParameterizedRobolectricTestRunner::class)
5154
@LooperMode(LooperMode.Mode.PAUSED)
5255
class ReactScrollViewTouchCancelTest(private val kind: String) {
53-
private lateinit var context: BridgeReactContext
56+
private lateinit var context: ReactApplicationContext
5457
private lateinit var themedContext: ThemedReactContext
5558
private lateinit var uiManagerHelperMock: MockedStatic<UIManagerHelper>
5659
private lateinit var root: TestRoot
@@ -78,8 +81,7 @@ class ReactScrollViewTouchCancelTest(private val kind: String) {
7881
fun setup() {
7982
ReactNativeFeatureFlagsForTests.setUp()
8083
SoLoader.setInTestMode()
81-
context = BridgeReactContext(RuntimeEnvironment.getApplication())
82-
context.initializeWithInstance(createMockCatalystInstance())
84+
context = createTestReactApplicationContext(RuntimeEnvironment.getApplication())
8385
context.scrollEndedListeners.addListener(scrollEndedListener)
8486
themedContext = ThemedReactContext(context, context, null, -1)
8587
DisplayMetricsHolder.setScreenDisplayMetrics(DisplayMetrics())

0 commit comments

Comments
 (0)