Skip to content

Commit 381134f

Browse files
Bridgeless-context DeviceInfoModuleTest (#59269)
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
1 parent bf4843f commit 381134f

1 file changed

Lines changed: 9 additions & 8 deletions

File tree

‎packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.kt‎

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

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

1210
import android.app.Activity
@@ -20,10 +18,10 @@ import androidx.core.view.WindowInsetsCompat
2018
import androidx.window.layout.WindowMetrics
2119
import androidx.window.layout.WindowMetricsCalculator
2220
import androidx.window.layout.WindowMetricsCalculatorDecorator
23-
import com.facebook.react.bridge.BridgeReactContext
2421
import com.facebook.react.bridge.JavaOnlyMap
22+
import com.facebook.react.bridge.ReactApplicationContext
2523
import com.facebook.react.bridge.ReactContext
26-
import com.facebook.react.bridge.ReactTestHelper
24+
import com.facebook.react.bridge.ReactTestHelper.createTestReactApplicationContext
2725
import com.facebook.react.bridge.WritableMap
2826
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsForTests
2927
import com.facebook.react.uimanager.DisplayMetricsHolder
@@ -43,6 +41,7 @@ import org.mockito.ArgumentCaptor
4341
import org.mockito.ArgumentMatchers
4442
import org.mockito.MockedStatic
4543
import org.mockito.Mockito.mockStatic
44+
import org.mockito.kotlin.doNothing
4645
import org.mockito.kotlin.doReturn
4746
import org.mockito.kotlin.mock
4847
import org.mockito.kotlin.spy
@@ -69,7 +68,7 @@ class DeviceInfoModuleTest : TestCase() {
6968
private lateinit var deviceInfoModule: DeviceInfoModule
7069
private lateinit var fakePortraitDisplayMetrics: WritableMap
7170
private lateinit var fakeLandscapeDisplayMetrics: WritableMap
72-
private lateinit var reactContext: BridgeReactContext
71+
private lateinit var reactContext: ReactApplicationContext
7372
private lateinit var displayMetricsHolder: MockedStatic<DisplayMetricsHolder>
7473

7574
@Before
@@ -83,9 +82,11 @@ class DeviceInfoModuleTest : TestCase() {
8382
fakeLandscapeDisplayMetrics.putInt("height", 100)
8483

8584
displayMetricsHolder = mockStatic(DisplayMetricsHolder::class.java)
86-
reactContext = spy(BridgeReactContext(RuntimeEnvironment.getApplication()))
87-
val catalystInstanceMock = ReactTestHelper.createMockCatalystInstance()
88-
reactContext.initializeWithInstance(catalystInstanceMock)
85+
reactContext = spy(createTestReactApplicationContext(RuntimeEnvironment.getApplication()))
86+
doReturn(true).whenever(reactContext).hasActiveReactInstance()
87+
doNothing()
88+
.whenever(reactContext)
89+
.emitDeviceEvent(ArgumentMatchers.anyString(), ArgumentMatchers.any())
8990
deviceInfoModule = spy(DeviceInfoModule(reactContext))
9091
}
9192

0 commit comments

Comments
 (0)