mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Test lifecycle evetns in ReactHost (#37985)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37985 Test lifecycle evetns in ReactHost changelog: [internal] internal Reviewed By: cortinico Differential Revision: D46814334 fbshipit-source-id: 888574c3099ddceec4f7f0aaaf14b883b1a4dc0b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
015e7cbd93
commit
add10419b6
+15
@@ -26,6 +26,7 @@ import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.bridge.UIManager;
|
||||
import com.facebook.react.bridgeless.internal.bolts.Task;
|
||||
import com.facebook.react.bridgeless.internal.bolts.TaskCompletionSource;
|
||||
import com.facebook.react.common.LifecycleState;
|
||||
import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
|
||||
import com.facebook.react.fabric.ComponentFactory;
|
||||
import com.facebook.react.uimanager.events.BlackHoleEventDispatcher;
|
||||
@@ -168,6 +169,20 @@ public class ReactHostTest {
|
||||
assertThat(mReactHost.getCurrentReactContext()).isNotEqualTo(oldReactContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLifecycleStateChanges() throws Exception {
|
||||
statAndTestReactHost();
|
||||
|
||||
assertThat(mReactHost.isInstanceInitialized()).isTrue();
|
||||
assertThat(mReactHost.getLifecycleState()).isEqualTo(LifecycleState.BEFORE_CREATE);
|
||||
mReactHost.onHostResume(mActivityController.get());
|
||||
assertThat(mReactHost.getLifecycleState()).isEqualTo(LifecycleState.RESUMED);
|
||||
mReactHost.onHostPause(mActivityController.get());
|
||||
assertThat(mReactHost.getLifecycleState()).isEqualTo(LifecycleState.BEFORE_RESUME);
|
||||
mReactHost.onHostDestroy(mActivityController.get());
|
||||
assertThat(mReactHost.getLifecycleState()).isEqualTo(LifecycleState.BEFORE_CREATE);
|
||||
}
|
||||
|
||||
private static <T> void waitForTaskUIThread(Task<T> task) throws InterruptedException {
|
||||
boolean isTaskCompleted = false;
|
||||
while (!isTaskCompleted) {
|
||||
|
||||
Reference in New Issue
Block a user