|
5 | 5 | * LICENSE file in the root directory of this source tree. |
6 | 6 | */ |
7 | 7 |
|
8 | | -// TODO T207169925: Migrate CatalystInstance to Reacthost and remove the Suppress("DEPRECATION") |
9 | | -// annotation |
10 | | -@file:Suppress("DEPRECATION") |
11 | | - |
12 | 8 | package com.facebook.react.bridge |
13 | 9 |
|
14 | 10 | import android.app.Application |
15 | | -import com.facebook.react.bridge.queue.MessageQueueThreadSpec |
16 | | -import com.facebook.react.bridge.queue.ReactQueueConfiguration |
17 | | -import com.facebook.react.bridge.queue.ReactQueueConfigurationImpl |
18 | | -import com.facebook.react.bridge.queue.ReactQueueConfigurationSpec |
19 | 11 | import com.facebook.react.common.annotations.UnstableReactNativeAPI |
20 | 12 | import com.facebook.react.runtime.BridgelessReactContext |
21 | 13 | import com.facebook.react.runtime.ReactHostImpl |
22 | 14 | import com.facebook.react.runtime.internal.bolts.Task |
23 | | -import com.facebook.react.uimanager.UIManagerModule |
24 | 15 | import org.mockito.kotlin.mock |
25 | 16 | import org.mockito.kotlin.spy |
26 | | -import org.mockito.kotlin.whenever |
27 | 17 | import org.robolectric.RuntimeEnvironment |
28 | 18 |
|
29 | 19 | /** Utility for creating pre-configured instances of core react components for tests. */ |
30 | 20 | object ReactTestHelper { |
31 | | - /** |
32 | | - * @return a ReactApplicationContext that has a CatalystInstance mock returned by |
33 | | - * [createMockCatalystInstance] |
34 | | - */ |
35 | | - @JvmStatic |
36 | | - fun createCatalystContextForTest(): ReactApplicationContext = |
37 | | - BridgeReactContext(RuntimeEnvironment.getApplication()).apply { |
38 | | - initializeWithInstance(createMockCatalystInstance()) |
39 | | - } |
40 | | - |
41 | | - /** @return a CatalystInstance mock that has a default working ReactQueueConfiguration. */ |
42 | | - @JvmStatic |
43 | | - fun createMockCatalystInstance(): CatalystInstance { |
44 | | - val spec: ReactQueueConfigurationSpec = |
45 | | - ReactQueueConfigurationSpec.builder() |
46 | | - .setJSQueueThreadSpec(MessageQueueThreadSpec.mainThreadSpec()) |
47 | | - .setNativeModulesQueueThreadSpec(MessageQueueThreadSpec.mainThreadSpec()) |
48 | | - .build() |
49 | | - val reactQueueConfiguration: ReactQueueConfiguration = |
50 | | - ReactQueueConfigurationImpl.create(spec) { e -> throw RuntimeException(e) } |
51 | | - val reactInstance: CatalystInstance = mock<CatalystInstance>() |
52 | | - whenever(reactInstance.reactQueueConfiguration).thenReturn(reactQueueConfiguration) |
53 | | - whenever(reactInstance.getNativeModule(UIManagerModule::class.java)) |
54 | | - .thenReturn(mock<UIManagerModule>()) |
55 | | - whenever(reactInstance.isDestroyed).thenReturn(false) |
56 | | - return reactInstance |
57 | | - } |
58 | 21 |
|
59 | 22 | @OptIn(UnstableReactNativeAPI::class) |
60 | | - fun createTestReactApplicationContext(application: Application): ReactApplicationContext { |
| 23 | + @JvmOverloads |
| 24 | + fun createTestReactApplicationContext( |
| 25 | + application: Application = RuntimeEnvironment.getApplication() |
| 26 | + ): ReactApplicationContext { |
61 | 27 | val reactHost = |
62 | 28 | spy( |
63 | 29 | ReactHostImpl( |
|
0 commit comments