Skip to content

Commit 8801318

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 0b319bd commit 8801318

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
@@ -42,6 +40,7 @@ import org.mockito.ArgumentCaptor
4240
import org.mockito.ArgumentMatchers
4341
import org.mockito.MockedStatic
4442
import org.mockito.Mockito.mockStatic
43+
import org.mockito.kotlin.doNothing
4544
import org.mockito.kotlin.doReturn
4645
import org.mockito.kotlin.mock
4746
import org.mockito.kotlin.spy
@@ -68,7 +67,7 @@ class DeviceInfoModuleTest {
6867
private lateinit var deviceInfoModule: DeviceInfoModule
6968
private lateinit var fakePortraitDisplayMetrics: WritableMap
7069
private lateinit var fakeLandscapeDisplayMetrics: WritableMap
71-
private lateinit var reactContext: BridgeReactContext
70+
private lateinit var reactContext: ReactApplicationContext
7271
private lateinit var displayMetricsHolder: MockedStatic<DisplayMetricsHolder>
7372

7473
@Before
@@ -82,9 +81,11 @@ class DeviceInfoModuleTest {
8281
fakeLandscapeDisplayMetrics.putInt("height", 100)
8382

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

0 commit comments

Comments
 (0)