From 84a3b898d50d36e8995425ca7bb962bfba5fac91 Mon Sep 17 00:00:00 2001 From: Ryan Linton Date: Thu, 8 Jun 2023 01:11:06 -0700 Subject: [PATCH] Convert UIManagerModuleConstantsHelperTest to Kotlin (#37732) Summary: Converts UIManagerModuleConstantsHelperTest from Java to Kotlin, as per issue https://github.com/facebook/react-native/issues/37708 ## Changelog: [Internal] [Changed] - Convert UIManagerModuleConstantsHelperTest to Kotlin Pull Request resolved: https://github.com/facebook/react-native/pull/37732 Test Plan: Tests pass: `./gradlew :packages:react-native:ReactAndroid:test` Formatted with [KtFmt](https://facebook.github.io/ktfmt/) Reviewed By: cortinico Differential Revision: D46493160 Pulled By: mdvacca fbshipit-source-id: c7522c016e0ef36b12d1b77f37171a72c188edd0 --- .../UIManagerModuleConstantsHelperTest.java | 89 ------------------- .../UIManagerModuleConstantsHelperTest.kt | 78 ++++++++++++++++ 2 files changed, 78 insertions(+), 89 deletions(-) delete mode 100644 packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.java create mode 100644 packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.kt diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.java b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.java deleted file mode 100644 index 78ba487e519..00000000000 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.java +++ /dev/null @@ -1,89 +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.uimanager; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import com.facebook.react.common.MapBuilder; -import java.util.Map; -import org.junit.Test; - -public class UIManagerModuleConstantsHelperTest { - - @Test - public void normalizeEventTypes_withNull_doesNothing() { - UIManagerModuleConstantsHelper.normalizeEventTypes(null); - } - - @Test - public void normalizeEventTypes_withEmptyMap_doesNothing() { - Map emptyMap = MapBuilder.builder().build(); - - UIManagerModuleConstantsHelper.normalizeEventTypes(emptyMap); - - assertTrue(emptyMap.isEmpty()); - } - - @Test - public void normalizeEventTypes_withOnEvent_doesNormalize() { - Map onClickMap = MapBuilder.builder().put("onClick", "¯\\_(ツ)_/¯").build(); - - UIManagerModuleConstantsHelper.normalizeEventTypes(onClickMap); - - assertTrue(onClickMap.containsKey("topOnClick")); - assertTrue(onClickMap.containsKey("onClick")); - } - - @Test - public void normalizeEventTypes_withTopEvent_doesNormalize() { - Map onClickMap = MapBuilder.builder().put("topOnClick", "¯\\_(ツ)_/¯").build(); - - UIManagerModuleConstantsHelper.normalizeEventTypes(onClickMap); - - assertTrue(onClickMap.containsKey("topOnClick")); - assertFalse(onClickMap.containsKey("onClick")); - } - - @SuppressWarnings("unchecked") - @Test - public void normalizeEventTypes_withNestedObjects_doesNotLoseThem() { - Map nestedObjects = - MapBuilder.builder() - .put( - "onColorChanged", - MapBuilder.of( - "phasedRegistrationNames", - MapBuilder.of( - "bubbled", "onColorChanged", "captured", "onColorChangedCapture"))) - .build(); - - UIManagerModuleConstantsHelper.normalizeEventTypes(nestedObjects); - - assertTrue(nestedObjects.containsKey("topOnColorChanged")); - Map innerMap = (Map) nestedObjects.get("topOnColorChanged"); - assertNotNull(innerMap); - assertTrue(innerMap.containsKey("phasedRegistrationNames")); - Map innerInnerMap = - (Map) innerMap.get("phasedRegistrationNames"); - assertNotNull(innerInnerMap); - assertEquals("onColorChanged", innerInnerMap.get("bubbled")); - assertEquals("onColorChangedCapture", innerInnerMap.get("captured")); - - assertTrue(nestedObjects.containsKey("onColorChanged")); - innerMap = (Map) nestedObjects.get("topOnColorChanged"); - assertNotNull(innerMap); - assertTrue(innerMap.containsKey("phasedRegistrationNames")); - innerInnerMap = (Map) innerMap.get("phasedRegistrationNames"); - assertNotNull(innerInnerMap); - assertEquals("onColorChanged", innerInnerMap.get("bubbled")); - assertEquals("onColorChangedCapture", innerInnerMap.get("captured")); - } -} diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.kt new file mode 100644 index 00000000000..c4e00424285 --- /dev/null +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelperTest.kt @@ -0,0 +1,78 @@ +/* + * 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.uimanager + +import com.facebook.react.common.MapBuilder +import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertNotNull +import org.junit.Assert.assertTrue +import org.junit.Test + +class UIManagerModuleConstantsHelperTest { + @Test + fun normalizeEventTypes_withNull_doesNothing() { + UIManagerModuleConstantsHelper.normalizeEventTypes(null) + } + + @Test + fun normalizeEventTypes_withEmptyMap_doesNothing() { + val emptyMap: Map = MapBuilder.builder().build() + UIManagerModuleConstantsHelper.normalizeEventTypes(emptyMap) + assertTrue(emptyMap.isEmpty()) + } + + @Test + fun normalizeEventTypes_withOnEvent_doesNormalize() { + val onClickMap: Map = + MapBuilder.builder().put("onClick", "¯\\_(ツ)_/¯").build() + UIManagerModuleConstantsHelper.normalizeEventTypes(onClickMap) + assertTrue(onClickMap.containsKey("topOnClick")) + assertTrue(onClickMap.containsKey("onClick")) + } + + @Test + fun normalizeEventTypes_withTopEvent_doesNormalize() { + val onClickMap: Map = + MapBuilder.builder().put("topOnClick", "¯\\_(ツ)_/¯").build() + UIManagerModuleConstantsHelper.normalizeEventTypes(onClickMap) + assertTrue(onClickMap.containsKey("topOnClick")) + assertFalse(onClickMap.containsKey("onClick")) + } + + @Suppress("UNCHECKED_CAST") + @Test + fun normalizeEventTypes_withNestedObjects_doesNotLoseThem() { + val nestedObjects: Map = + MapBuilder.builder() + .put( + "onColorChanged", + MapBuilder.of( + "phasedRegistrationNames", + MapBuilder.of( + "bubbled", "onColorChanged", "captured", "onColorChangedCapture"))) + .build() + UIManagerModuleConstantsHelper.normalizeEventTypes(nestedObjects) + assertTrue(nestedObjects.containsKey("topOnColorChanged")) + var innerMap = nestedObjects["topOnColorChanged"] as? Map + assertNotNull(innerMap) + assertTrue(innerMap!!.containsKey("phasedRegistrationNames")) + var innerInnerMap = innerMap.get("phasedRegistrationNames") as? Map + assertNotNull(innerInnerMap) + assertEquals("onColorChanged", innerInnerMap!!.get("bubbled")) + assertEquals("onColorChangedCapture", innerInnerMap.get("captured")) + assertTrue(nestedObjects.containsKey("onColorChanged")) + innerMap = nestedObjects.get("topOnColorChanged") as? Map + assertNotNull(innerMap) + assertTrue(innerMap!!.containsKey("phasedRegistrationNames")) + innerInnerMap = innerMap.get("phasedRegistrationNames") as? Map + assertNotNull(innerInnerMap) + assertEquals("onColorChanged", innerInnerMap!!.get("bubbled")) + assertEquals("onColorChangedCapture", innerInnerMap.get("captured")) + } +}