From 7f26b088b22f44967e3e6a90320cddd92e34c54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwas=CC=81niewski?= Date: Mon, 4 Sep 2023 04:29:05 -0700 Subject: [PATCH] Convert ColorUtilTest to Kotlin (#38979) Summary: Converts ColorUtilTest to kotlin as requested in https://github.com/facebook/react-native/issues/38825 ## Changelog: [INTERNAL] [CHANGED] - Convert ColorUtilTest to Kotlin Pull Request resolved: https://github.com/facebook/react-native/pull/38979 Test Plan: 1. Run `./gradlew :packages:react-native:ReactAndroid:test`. 2. All tests should pass. Reviewed By: fkgozali, cortinico, arushikesarwani94 Differential Revision: D48802302 Pulled By: mdvacca fbshipit-source-id: 876caf288bd5df1e1fdc4b0b20b41afdfacf364f --- .../react/views/view/ColorUtilTest.java | 52 ------------------- .../react/views/view/ColorUtilTest.kt | 49 +++++++++++++++++ 2 files changed, 49 insertions(+), 52 deletions(-) delete mode 100644 packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java create mode 100644 packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.kt diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java deleted file mode 100644 index f87e34308cccc4..00000000000000 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +++ /dev/null @@ -1,52 +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.views.view; - -import static org.junit.Assert.*; - -import android.graphics.PixelFormat; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Based on Fresco's DrawableUtilsTest (https://github.com/facebook/fresco). */ -@RunWith(RobolectricTestRunner.class) -@Ignore // TODO T110934492 -public class ColorUtilTest { - - @Test - public void testMultiplyColorAlpha() { - assertEquals(0x00123456, ColorUtil.multiplyColorAlpha(0xC0123456, 0)); - assertEquals(0x07123456, ColorUtil.multiplyColorAlpha(0xC0123456, 10)); - assertEquals(0x96123456, ColorUtil.multiplyColorAlpha(0xC0123456, 200)); - assertEquals(0xC0123456, ColorUtil.multiplyColorAlpha(0xC0123456, 255)); - } - - @Test - public void testGetOpacityFromColor() { - assertEquals(PixelFormat.TRANSPARENT, ColorUtil.getOpacityFromColor(0x00000000)); - assertEquals(PixelFormat.TRANSPARENT, ColorUtil.getOpacityFromColor(0x00123456)); - assertEquals(PixelFormat.TRANSPARENT, ColorUtil.getOpacityFromColor(0x00FFFFFF)); - assertEquals(PixelFormat.TRANSLUCENT, ColorUtil.getOpacityFromColor(0xC0000000)); - assertEquals(PixelFormat.TRANSLUCENT, ColorUtil.getOpacityFromColor(0xC0123456)); - assertEquals(PixelFormat.TRANSLUCENT, ColorUtil.getOpacityFromColor(0xC0FFFFFF)); - assertEquals(PixelFormat.OPAQUE, ColorUtil.getOpacityFromColor(0xFF000000)); - assertEquals(PixelFormat.OPAQUE, ColorUtil.getOpacityFromColor(0xFF123456)); - assertEquals(PixelFormat.OPAQUE, ColorUtil.getOpacityFromColor(0xFFFFFFFF)); - } - - @Test - public void testNormalize() { - assertEquals(0x800B1621, ColorUtil.normalize(11, 22, 33, 0.5)); - assertEquals(0x00000000, ColorUtil.normalize(0, 0, 0, 0)); - assertEquals(0xFFFFFFFF, ColorUtil.normalize(255, 255, 255, 1)); - assertEquals(0xFF00FFFF, ColorUtil.normalize(-1, 256, 255, 1.1)); - assertEquals(0x000001FF, ColorUtil.normalize(0.4, 0.5, 255.4, -1)); - } -} diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.kt new file mode 100644 index 00000000000000..d62b3bd424a4f9 --- /dev/null +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.kt @@ -0,0 +1,49 @@ +/* + * 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.views.view + +import android.graphics.PixelFormat +import junit.framework.TestCase.assertEquals +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner + +/** Based on Fresco's DrawableUtilsTest (https://github.com/facebook/fresco). */ +@RunWith(RobolectricTestRunner::class) +class ColorUtilTest { + @Test + fun testMultiplyColorAlpha() { + assertEquals(0x00123456U.toInt(), ColorUtil.multiplyColorAlpha(0xC0123456U.toInt(), 0)) + assertEquals(0x07123456U.toInt(), ColorUtil.multiplyColorAlpha(0xC0123456U.toInt(), 10)) + assertEquals(0x96123456U.toInt(), ColorUtil.multiplyColorAlpha(0xC0123456U.toInt(), 200)) + assertEquals(0xC0123456U.toInt(), ColorUtil.multiplyColorAlpha(0xC0123456U.toInt(), 255)) + } + + @Test + fun testGetOpacityFromColor() { + assertEquals(PixelFormat.TRANSPARENT, ColorUtil.getOpacityFromColor(0x00000000)) + assertEquals(PixelFormat.TRANSPARENT, ColorUtil.getOpacityFromColor(0x00123456)) + assertEquals(PixelFormat.TRANSPARENT, ColorUtil.getOpacityFromColor(0x00FFFFFF)) + assertEquals(PixelFormat.TRANSLUCENT, ColorUtil.getOpacityFromColor(0xC0000000.toInt())) + assertEquals(PixelFormat.TRANSLUCENT, ColorUtil.getOpacityFromColor(0xC0123456.toInt())) + assertEquals(PixelFormat.TRANSLUCENT, ColorUtil.getOpacityFromColor(0xC0FFFFFF.toInt())) + assertEquals(PixelFormat.OPAQUE, ColorUtil.getOpacityFromColor(0xFF000000.toInt())) + assertEquals(PixelFormat.OPAQUE, ColorUtil.getOpacityFromColor(0xFF123456.toInt())) + assertEquals(PixelFormat.OPAQUE, ColorUtil.getOpacityFromColor(0xFFFFFFFF.toInt())) + } + + @Test + fun testNormalize() { + assertEquals(0x800B1621U.toInt(), ColorUtil.normalize(11.0, 22.0, 33.0, 0.5)) + assertEquals(0x00000000U.toInt(), ColorUtil.normalize(0.0, 0.0, 0.0, 0.0)) + assertEquals(0xFFFFFFFFU.toInt(), ColorUtil.normalize(255.0, 255.0, 255.0, 1.0)) + assertEquals(0xFF00FFFFU.toInt(), ColorUtil.normalize(-1.0, 256.0, 255.0, 1.1)) + assertEquals(0x000001FFU.toInt(), ColorUtil.normalize(0.4, 0.5, 255.4, -1.0)) + } +}