Fix and re-enable TimingModuleTest

Summary:
For some reason the transitive dependency isn't picked up in OSS, so make it hard.

bestander
Closes https://github.com/facebook/react-native/pull/10397

Differential Revision: D4024350

Pulled By: bestander

fbshipit-source-id: 32182857dcc88744ebf6ce0e5cf8eaee390bf067
This commit is contained in:
Felix Oghina 2016-10-14 15:13:39 -07:00 коммит произвёл Facebook Github Bot
Родитель 8b55e50d1d
Коммит 9df93c1071
2 изменённых файлов: 253 добавлений и 252 удалений

Просмотреть файл

@ -20,6 +20,7 @@ robolectric3_test(
react_native_target('java/com/facebook/react/common/network:network'), react_native_target('java/com/facebook/react/common/network:network'),
react_native_target('java/com/facebook/react/common:common'), react_native_target('java/com/facebook/react/common:common'),
react_native_target('java/com/facebook/react/devsupport:devsupport'), react_native_target('java/com/facebook/react/devsupport:devsupport'),
react_native_target('java/com/facebook/react/jstasks:jstasks'),
react_native_target('java/com/facebook/react/modules/clipboard:clipboard'), react_native_target('java/com/facebook/react/modules/clipboard:clipboard'),
react_native_target('java/com/facebook/react/modules/common:common'), react_native_target('java/com/facebook/react/modules/common:common'),
react_native_target('java/com/facebook/react/modules/core:core'), react_native_target('java/com/facebook/react/modules/core:core'),

Просмотреть файл

@ -41,255 +41,255 @@ import static org.mockito.Mockito.*;
*/ */
// DISABLED, BROKEN https://circleci.com/gh/facebook/react-native/12068 // DISABLED, BROKEN https://circleci.com/gh/facebook/react-native/12068
// t=13905097 // t=13905097
// @PrepareForTest({Arguments.class, SystemClock.class, ReactChoreographer.class}) @PrepareForTest({Arguments.class, SystemClock.class, ReactChoreographer.class})
// @PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*"}) @PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*"})
// @RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
// public class TimingModuleTest { public class TimingModuleTest {
//
// private static final long FRAME_TIME_NS = 17 * 1000 * 1000; // 17 ms private static final long FRAME_TIME_NS = 17 * 1000 * 1000; // 17 ms
//
// private Timing mTiming; private Timing mTiming;
// private ReactChoreographer mReactChoreographerMock; private ReactChoreographer mReactChoreographerMock;
// private PostFrameCallbackHandler mPostFrameCallbackHandler; private PostFrameCallbackHandler mPostFrameCallbackHandler;
// private PostFrameIdleCallbackHandler mIdlePostFrameCallbackHandler; private PostFrameIdleCallbackHandler mIdlePostFrameCallbackHandler;
// private long mCurrentTimeNs; private long mCurrentTimeNs;
// private JSTimersExecution mJSTimersMock; private JSTimersExecution mJSTimersMock;
// private ExecutorToken mExecutorTokenMock; private ExecutorToken mExecutorTokenMock;
//
// @Rule @Rule
// public PowerMockRule rule = new PowerMockRule(); public PowerMockRule rule = new PowerMockRule();
//
// @Before @Before
// public void prepareModules() { public void prepareModules() {
// PowerMockito.mockStatic(Arguments.class); PowerMockito.mockStatic(Arguments.class);
// when(Arguments.createArray()).thenAnswer( when(Arguments.createArray()).thenAnswer(
// new Answer<Object>() { new Answer<Object>() {
// @Override @Override
// public Object answer(InvocationOnMock invocation) throws Throwable { public Object answer(InvocationOnMock invocation) throws Throwable {
// return new JavaOnlyArray(); return new JavaOnlyArray();
// } }
// }); });
//
// PowerMockito.mockStatic(SystemClock.class); PowerMockito.mockStatic(SystemClock.class);
// when(SystemClock.uptimeMillis()).thenReturn(mCurrentTimeNs / 1000000); when(SystemClock.uptimeMillis()).thenReturn(mCurrentTimeNs / 1000000);
// when(SystemClock.currentTimeMillis()).thenReturn(mCurrentTimeNs / 1000000); when(SystemClock.currentTimeMillis()).thenReturn(mCurrentTimeNs / 1000000);
// when(SystemClock.nanoTime()).thenReturn(mCurrentTimeNs); when(SystemClock.nanoTime()).thenReturn(mCurrentTimeNs);
//
// mReactChoreographerMock = mock(ReactChoreographer.class); mReactChoreographerMock = mock(ReactChoreographer.class);
// PowerMockito.mockStatic(ReactChoreographer.class); PowerMockito.mockStatic(ReactChoreographer.class);
// when(ReactChoreographer.getInstance()).thenReturn(mReactChoreographerMock); when(ReactChoreographer.getInstance()).thenReturn(mReactChoreographerMock);
//
// CatalystInstance reactInstance = mock(CatalystInstance.class); CatalystInstance reactInstance = mock(CatalystInstance.class);
// ReactApplicationContext reactContext = mock(ReactApplicationContext.class); ReactApplicationContext reactContext = mock(ReactApplicationContext.class);
// when(reactContext.getCatalystInstance()).thenReturn(reactInstance); when(reactContext.getCatalystInstance()).thenReturn(reactInstance);
//
// mCurrentTimeNs = 0; mCurrentTimeNs = 0;
// mPostFrameCallbackHandler = new PostFrameCallbackHandler(); mPostFrameCallbackHandler = new PostFrameCallbackHandler();
// mIdlePostFrameCallbackHandler = new PostFrameIdleCallbackHandler(); mIdlePostFrameCallbackHandler = new PostFrameIdleCallbackHandler();
//
// doAnswer(mPostFrameCallbackHandler) doAnswer(mPostFrameCallbackHandler)
// .when(mReactChoreographerMock) .when(mReactChoreographerMock)
// .postFrameCallback( .postFrameCallback(
// eq(ReactChoreographer.CallbackType.TIMERS_EVENTS), eq(ReactChoreographer.CallbackType.TIMERS_EVENTS),
// any(Choreographer.FrameCallback.class)); any(Choreographer.FrameCallback.class));
//
// doAnswer(mIdlePostFrameCallbackHandler) doAnswer(mIdlePostFrameCallbackHandler)
// .when(mReactChoreographerMock) .when(mReactChoreographerMock)
// .postFrameCallback( .postFrameCallback(
// eq(ReactChoreographer.CallbackType.IDLE_EVENT), eq(ReactChoreographer.CallbackType.IDLE_EVENT),
// any(Choreographer.FrameCallback.class)); any(Choreographer.FrameCallback.class));
//
// mTiming = new Timing(reactContext, mock(DevSupportManager.class)); mTiming = new Timing(reactContext, mock(DevSupportManager.class));
// mJSTimersMock = mock(JSTimersExecution.class); mJSTimersMock = mock(JSTimersExecution.class);
// mExecutorTokenMock = mock(ExecutorToken.class); mExecutorTokenMock = mock(ExecutorToken.class);
// when(reactContext.getJSModule(mExecutorTokenMock, JSTimersExecution.class)).thenReturn(mJSTimersMock); when(reactContext.getJSModule(mExecutorTokenMock, JSTimersExecution.class)).thenReturn(mJSTimersMock);
//
// doAnswer(new Answer() { doAnswer(new Answer() {
// @Override @Override
// public Object answer(InvocationOnMock invocation) throws Throwable { public Object answer(InvocationOnMock invocation) throws Throwable {
// ((Runnable)invocation.getArguments()[0]).run(); ((Runnable)invocation.getArguments()[0]).run();
// return null; return null;
// } }
// }).when(reactContext).runOnJSQueueThread(any(Runnable.class)); }).when(reactContext).runOnJSQueueThread(any(Runnable.class));
//
// mTiming.initialize(); mTiming.initialize();
// } }
//
// private void stepChoreographerFrame() { private void stepChoreographerFrame() {
// Choreographer.FrameCallback callback = mPostFrameCallbackHandler.getAndResetFrameCallback(); Choreographer.FrameCallback callback = mPostFrameCallbackHandler.getAndResetFrameCallback();
// Choreographer.FrameCallback idleCallback = mIdlePostFrameCallbackHandler.getAndResetFrameCallback(); Choreographer.FrameCallback idleCallback = mIdlePostFrameCallbackHandler.getAndResetFrameCallback();
//
// mCurrentTimeNs += FRAME_TIME_NS; mCurrentTimeNs += FRAME_TIME_NS;
// when(SystemClock.uptimeMillis()).thenReturn(mCurrentTimeNs / 1000000); when(SystemClock.uptimeMillis()).thenReturn(mCurrentTimeNs / 1000000);
// if (callback != null) { if (callback != null) {
// callback.doFrame(mCurrentTimeNs); callback.doFrame(mCurrentTimeNs);
// } }
//
// if (idleCallback != null) { if (idleCallback != null) {
// idleCallback.doFrame(mCurrentTimeNs); idleCallback.doFrame(mCurrentTimeNs);
// } }
// } }
//
// @Test @Test
// public void testSimpleTimer() { public void testSimpleTimer() {
// mTiming.onHostResume(); mTiming.onHostResume();
// mTiming.createTimer(mExecutorTokenMock, 1, 1, 0, false); mTiming.createTimer(mExecutorTokenMock, 1, 1, 0, false);
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(1)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(1));
// reset(mJSTimersMock); reset(mJSTimersMock);
// stepChoreographerFrame(); stepChoreographerFrame();
// verifyNoMoreInteractions(mJSTimersMock); verifyNoMoreInteractions(mJSTimersMock);
// } }
//
// @Test @Test
// public void testSimpleRecurringTimer() { public void testSimpleRecurringTimer() {
// mTiming.createTimer(mExecutorTokenMock, 100, 1, 0, true); mTiming.createTimer(mExecutorTokenMock, 100, 1, 0, true);
// mTiming.onHostResume(); mTiming.onHostResume();
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(100)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(100));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(100)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(100));
// } }
//
// @Test @Test
// public void testCancelRecurringTimer() { public void testCancelRecurringTimer() {
// mTiming.onHostResume(); mTiming.onHostResume();
// mTiming.createTimer(mExecutorTokenMock, 105, 1, 0, true); mTiming.createTimer(mExecutorTokenMock, 105, 1, 0, true);
//
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(105)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(105));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.deleteTimer(mExecutorTokenMock, 105); mTiming.deleteTimer(mExecutorTokenMock, 105);
// stepChoreographerFrame(); stepChoreographerFrame();
// verifyNoMoreInteractions(mJSTimersMock); verifyNoMoreInteractions(mJSTimersMock);
// } }
//
// @Test @Test
// public void testPausingAndResuming() { public void testPausingAndResuming() {
// mTiming.onHostResume(); mTiming.onHostResume();
// mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true); mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true);
//
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.onHostPause(); mTiming.onHostPause();
// stepChoreographerFrame(); stepChoreographerFrame();
// verifyNoMoreInteractions(mJSTimersMock); verifyNoMoreInteractions(mJSTimersMock);
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.onHostResume(); mTiming.onHostResume();
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41));
// } }
//
// @Test @Test
// public void testHeadlessJsTaskInBackground() { public void testHeadlessJsTaskInBackground() {
// mTiming.onHostPause(); mTiming.onHostPause();
// mTiming.onHeadlessJsTaskStart(42); mTiming.onHeadlessJsTaskStart(42);
// mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true); mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true);
//
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.onHeadlessJsTaskFinish(42); mTiming.onHeadlessJsTaskFinish(42);
// stepChoreographerFrame(); stepChoreographerFrame();
// verifyNoMoreInteractions(mJSTimersMock); verifyNoMoreInteractions(mJSTimersMock);
// } }
//
// @Test @Test
// public void testHeadlessJsTaskInForeground() { public void testHeadlessJsTaskInForeground() {
// mTiming.onHostResume(); mTiming.onHostResume();
// mTiming.onHeadlessJsTaskStart(42); mTiming.onHeadlessJsTaskStart(42);
// mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true); mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true);
//
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.onHeadlessJsTaskFinish(42); mTiming.onHeadlessJsTaskFinish(42);
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.onHostPause(); mTiming.onHostPause();
// verifyNoMoreInteractions(mJSTimersMock); verifyNoMoreInteractions(mJSTimersMock);
// } }
//
// @Test @Test
// public void testHeadlessJsTaskIntertwine() { public void testHeadlessJsTaskIntertwine() {
// mTiming.onHostResume(); mTiming.onHostResume();
// mTiming.onHeadlessJsTaskStart(42); mTiming.onHeadlessJsTaskStart(42);
// mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true); mTiming.createTimer(mExecutorTokenMock, 41, 1, 0, true);
// mTiming.onHostPause(); mTiming.onHostPause();
//
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.onHostResume(); mTiming.onHostResume();
// mTiming.onHeadlessJsTaskFinish(42); mTiming.onHeadlessJsTaskFinish(42);
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(41));
//
// reset(mJSTimersMock); reset(mJSTimersMock);
// mTiming.onHostPause(); mTiming.onHostPause();
// stepChoreographerFrame(); stepChoreographerFrame();
// verifyNoMoreInteractions(mJSTimersMock); verifyNoMoreInteractions(mJSTimersMock);
// } }
//
// @Test @Test
// public void testSetTimeoutZero() { public void testSetTimeoutZero() {
// mTiming.createTimer(mExecutorTokenMock, 100, 0, 0, false); mTiming.createTimer(mExecutorTokenMock, 100, 0, 0, false);
// verify(mJSTimersMock).callTimers(JavaOnlyArray.of(100)); verify(mJSTimersMock).callTimers(JavaOnlyArray.of(100));
// } }
//
// @Test @Test
// public void testIdleCallback() { public void testIdleCallback() {
// mTiming.onHostResume(); mTiming.onHostResume();
// mTiming.setSendIdleEvents(mExecutorTokenMock, true); mTiming.setSendIdleEvents(mExecutorTokenMock, true);
//
// stepChoreographerFrame(); stepChoreographerFrame();
// verify(mJSTimersMock).callIdleCallbacks(SystemClock.currentTimeMillis()); verify(mJSTimersMock).callIdleCallbacks(SystemClock.currentTimeMillis());
// } }
//
// private static class PostFrameIdleCallbackHandler implements Answer<Void> { private static class PostFrameIdleCallbackHandler implements Answer<Void> {
//
// private Choreographer.FrameCallback mFrameCallback; private Choreographer.FrameCallback mFrameCallback;
//
// @Override @Override
// public Void answer(InvocationOnMock invocation) throws Throwable { public Void answer(InvocationOnMock invocation) throws Throwable {
// Object[] args = invocation.getArguments(); Object[] args = invocation.getArguments();
// mFrameCallback = (Choreographer.FrameCallback) args[1]; mFrameCallback = (Choreographer.FrameCallback) args[1];
// return null; return null;
// } }
//
// public Choreographer.FrameCallback getAndResetFrameCallback() { public Choreographer.FrameCallback getAndResetFrameCallback() {
// Choreographer.FrameCallback callback = mFrameCallback; Choreographer.FrameCallback callback = mFrameCallback;
// mFrameCallback = null; mFrameCallback = null;
// return callback; return callback;
// } }
// } }
//
// private static class PostFrameCallbackHandler implements Answer<Void> { private static class PostFrameCallbackHandler implements Answer<Void> {
//
// private Choreographer.FrameCallback mFrameCallback; private Choreographer.FrameCallback mFrameCallback;
//
// @Override @Override
// public Void answer(InvocationOnMock invocation) throws Throwable { public Void answer(InvocationOnMock invocation) throws Throwable {
// Object[] args = invocation.getArguments(); Object[] args = invocation.getArguments();
// mFrameCallback = (Choreographer.FrameCallback) args[1]; mFrameCallback = (Choreographer.FrameCallback) args[1];
// return null; return null;
// } }
//
// public Choreographer.FrameCallback getAndResetFrameCallback() { public Choreographer.FrameCallback getAndResetFrameCallback() {
// Choreographer.FrameCallback callback = mFrameCallback; Choreographer.FrameCallback callback = mFrameCallback;
// mFrameCallback = null; mFrameCallback = null;
// return callback; return callback;
// } }
// } }
// } }