From 9e2bb4efc38ecfdbfca9becdb2f8dc9639b4f39b Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Tue, 12 Mar 2024 04:25:17 -0700 Subject: [PATCH] Fix TimingModuleTest in OSS (#43422) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/43422 After my changes in D54496604, this test now requires the main looper to progress as well, to dispatch the right callback. Changelog: [Internal] Reviewed By: rshest Differential Revision: D54776392 fbshipit-source-id: ba272a08d4b88d1c3301618eed1a03253e615b84 --- .../com/facebook/react/modules/timing/TimingModuleTest.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.kt index 86011414ab3..10cf42fde9b 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.kt @@ -8,6 +8,7 @@ package com.facebook.react.modules.timing import android.content.Context +import android.os.Looper import android.view.Choreographer.FrameCallback import com.facebook.react.bridge.Arguments import com.facebook.react.bridge.CatalystInstance @@ -44,6 +45,7 @@ import org.mockito.Mockito.`when` as whenever import org.mockito.invocation.InvocationOnMock import org.mockito.stubbing.Answer import org.robolectric.RobolectricTestRunner +import org.robolectric.Shadows.shadowOf @RunWith(RobolectricTestRunner::class) class TimingModuleTest { @@ -138,6 +140,8 @@ class TimingModuleTest { } private fun stepChoreographerFrame() { + shadowOf(Looper.getMainLooper()).idle() + val callback = postFrameCallbackHandler.getAndResetFrameCallback() val idleCallback = idlePostFrameCallbackHandler.getAndResetFrameCallback() currentTimeNs += FRAME_TIME_NS