From 5048ef65fba1555a13debb85f7dba71fbb805ab6 Mon Sep 17 00:00:00 2001 From: tarunrajput Date: Wed, 7 Jun 2023 10:02:56 -0700 Subject: [PATCH] Convert FakeEventDispatcher to kotlin (#37739) Summary: Part of https://github.com/facebook/react-native/issues/37708 Convert FakeEventDispatcher to Kotlin ## Changelog: [Internal][Changed]: Convert FakeEventDispatcher to Kotlin Pull Request resolved: https://github.com/facebook/react-native/pull/37739 Test Plan: ``` ./gradlew :packages:react-native:ReactAndroid:test ``` Reviewed By: rshest Differential Revision: D46514164 Pulled By: cortinico fbshipit-source-id: 355f568ad9b36073aa9f1981472a2c7567e7ab2d --- .../fabric/interop/FakeEventDispatcher.java | 55 ------------------- .../fabric/interop/FakeEventDispatcher.kt | 46 ++++++++++++++++ .../interop/InteropEventEmitterTest.java | 9 +-- 3 files changed, 51 insertions(+), 59 deletions(-) delete mode 100644 packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.java create mode 100644 packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.kt diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.java b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.java deleted file mode 100644 index f747845b1533e4..00000000000000 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -package com.facebook.react.fabric.interop; - -import com.facebook.react.uimanager.events.BatchEventDispatchedListener; -import com.facebook.react.uimanager.events.Event; -import com.facebook.react.uimanager.events.EventDispatcher; -import com.facebook.react.uimanager.events.EventDispatcherListener; -import com.facebook.react.uimanager.events.RCTEventEmitter; -import com.facebook.react.uimanager.events.RCTModernEventEmitter; -import java.util.ArrayList; -import java.util.List; - -@SuppressWarnings("rawtypes") -public class FakeEventDispatcher implements EventDispatcher { - - List recordedDispatchedEvents = new ArrayList<>(); - - @Override - public void dispatchEvent(Event event) { - recordedDispatchedEvents.add(event); - } - - @Override - public void dispatchAllEvents() {} - - @Override - public void addListener(EventDispatcherListener listener) {} - - @Override - public void removeListener(EventDispatcherListener listener) {} - - @Override - public void addBatchEventDispatchedListener(BatchEventDispatchedListener listener) {} - - @Override - public void removeBatchEventDispatchedListener(BatchEventDispatchedListener listener) {} - - @Override - public void registerEventEmitter(int uiManagerType, RCTEventEmitter eventEmitter) {} - - @Override - public void registerEventEmitter(int uiManagerType, RCTModernEventEmitter eventEmitter) {} - - @Override - public void unregisterEventEmitter(int uiManagerType) {} - - @Override - public void onCatalystInstanceDestroyed() {} -} diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.kt new file mode 100644 index 00000000000000..af3af4a4b52c77 --- /dev/null +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/FakeEventDispatcher.kt @@ -0,0 +1,46 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +package com.facebook.react.fabric.interop + +import com.facebook.react.uimanager.events.BatchEventDispatchedListener +import com.facebook.react.uimanager.events.Event +import com.facebook.react.uimanager.events.EventDispatcher +import com.facebook.react.uimanager.events.EventDispatcherListener +import com.facebook.react.uimanager.events.RCTEventEmitter +import com.facebook.react.uimanager.events.RCTModernEventEmitter + +@SuppressWarnings("rawtypes") +class FakeEventDispatcher : EventDispatcher { + private val recordedDispatchedEvents = mutableListOf>() + + fun getRecordedDispatchedEvents(): List> { + return recordedDispatchedEvents + } + + override fun dispatchEvent(event: Event<*>) { + recordedDispatchedEvents.add(event) + } + + override fun dispatchAllEvents() {} + + override fun addListener(listener: EventDispatcherListener) {} + + override fun removeListener(listener: EventDispatcherListener) {} + + override fun addBatchEventDispatchedListener(listener: BatchEventDispatchedListener) {} + + override fun removeBatchEventDispatchedListener(listener: BatchEventDispatchedListener) {} + + override fun registerEventEmitter(uiManagerType: Int, eventEmitter: RCTEventEmitter) {} + + override fun registerEventEmitter(uiManagerType: Int, eventEmitter: RCTModernEventEmitter) {} + + override fun unregisterEventEmitter(uiManagerType: Int) {} + + override fun onCatalystInstanceDestroyed() {} +} diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/InteropEventEmitterTest.java b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/InteropEventEmitterTest.java index c26e9b36ac13fd..5e86e029ef02b6 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/InteropEventEmitterTest.java +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/interop/InteropEventEmitterTest.java @@ -39,9 +39,10 @@ public void receiveEvent_dispatchesCorrectly() { eventEmitter.receiveEvent(42, "onTest", null); - assertEquals(1, mEventDispatcher.recordedDispatchedEvents.size()); - assertEquals("onTest", mEventDispatcher.recordedDispatchedEvents.get(0).getEventName()); - assertEquals(InteropEvent.class, mEventDispatcher.recordedDispatchedEvents.get(0).getClass()); + assertEquals(1, mEventDispatcher.getRecordedDispatchedEvents().size()); + assertEquals("onTest", mEventDispatcher.getRecordedDispatchedEvents().get(0).getEventName()); + assertEquals( + InteropEvent.class, mEventDispatcher.getRecordedDispatchedEvents().get(0).getClass()); } @Test @@ -52,7 +53,7 @@ public void receiveEvent_dataIsPreserved() { eventEmitter.receiveEvent(42, "onTest", eventData); - InteropEvent event = (InteropEvent) mEventDispatcher.recordedDispatchedEvents.get(0); + InteropEvent event = (InteropEvent) mEventDispatcher.getRecordedDispatchedEvents().get(0); WritableMap dispatchedEventData = event.getEventData(); assertNotNull(dispatchedEventData); assertEquals("indigo", dispatchedEventData.getString("color"));