Allow ReactInstrumentationTest to use TurboModulues
Summary: Update ReactInstrumentationTest to allow passing in a ReactPackageTurboModuleManagerDelegate.Builder Changelog: Internal Reviewed By: RSNara Differential Revision: D35349451 fbshipit-source-id: 940da345524eecb2645104ac29508c66134162e2
This commit is contained in:
Родитель
5534634892
Коммит
a196e22bc8
|
@ -214,6 +214,10 @@ public class ReactAppTestActivity extends FragmentActivity
|
|||
if (spec.getJavaScriptExecutorFactory() != null) {
|
||||
builder.setJavaScriptExecutorFactory(spec.getJavaScriptExecutorFactory());
|
||||
}
|
||||
if (spec.getReactPackageTurboModuleManagerDelegateBuilder() != null) {
|
||||
builder.setReactPackageTurboModuleManagerDelegateBuilder(
|
||||
spec.getReactPackageTurboModuleManagerDelegateBuilder());
|
||||
}
|
||||
if (spec.getNativeModuleCallExceptionHandler() != null) {
|
||||
builder.setNativeModuleCallExceptionHandler(spec.getNativeModuleCallExceptionHandler());
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ package com.facebook.react.testing;
|
|||
import android.annotation.SuppressLint;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
|
||||
import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
||||
import com.facebook.react.bridge.JavaScriptModule;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
|
@ -35,6 +36,7 @@ public class ReactInstanceSpecForTest {
|
|||
@Nullable private NativeModuleCallExceptionHandler mNativeModuleCallExceptionHandler = null;
|
||||
@Nullable private FabricUIManagerFactory mFabricUIManagerFactory = null;
|
||||
@Nullable private JavaScriptExecutorFactory mJavaScriptExecutorFactory = null;
|
||||
@Nullable private ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder = null;
|
||||
|
||||
public ReactInstanceSpecForTest addNativeModule(NativeModule module) {
|
||||
mNativeModules.add(module);
|
||||
|
@ -77,6 +79,17 @@ public class ReactInstanceSpecForTest {
|
|||
return mFabricUIManagerFactory;
|
||||
}
|
||||
|
||||
public ReactInstanceSpecForTest setReactPackageTurboModuleManagerDelegateBuilder(
|
||||
@Nullable ReactPackageTurboModuleManagerDelegate.Builder builder) {
|
||||
mTMMDelegateBuilder = builder;
|
||||
return this;
|
||||
}
|
||||
|
||||
protected @Nullable ReactPackageTurboModuleManagerDelegate.Builder
|
||||
getReactPackageTurboModuleManagerDelegateBuilder() {
|
||||
return mTMMDelegateBuilder;
|
||||
}
|
||||
|
||||
public ReactInstanceSpecForTest addPackages(List<ReactPackage> reactPackages) {
|
||||
mReactPackages.addAll(reactPackages);
|
||||
return this;
|
||||
|
|
|
@ -12,6 +12,7 @@ import android.test.ActivityInstrumentationTestCase2;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
|
||||
import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
||||
import com.facebook.react.bridge.JavaScriptModule;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
|
@ -95,6 +96,11 @@ public abstract class ReactInstrumentationTest
|
|||
return getReactContext().getJSModule(jsInterface);
|
||||
}
|
||||
|
||||
protected @Nullable ReactPackageTurboModuleManagerDelegate.Builder
|
||||
getReactPackageTurboModuleManagerDelegateBuilder() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/** Override this method to provide extra native modules to be loaded before the app starts */
|
||||
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
|
||||
ReactInstanceSpecForTest reactInstanceSpecForTest =
|
||||
|
@ -105,6 +111,8 @@ public abstract class ReactInstrumentationTest
|
|||
if (mFabricUIManagerFactory != null) {
|
||||
reactInstanceSpecForTest.setFabricUIManagerFactory(mFabricUIManagerFactory);
|
||||
}
|
||||
reactInstanceSpecForTest.setReactPackageTurboModuleManagerDelegateBuilder(
|
||||
getReactPackageTurboModuleManagerDelegateBuilder());
|
||||
return reactInstanceSpecForTest;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче