From 55d35411ae420aa87c33fb2e2ef4b2c4f4112faf Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Mon, 19 Aug 2024 10:51:24 -0700 Subject: [PATCH] Finalize AssertJ migration (#46097) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46097 I've noticed we still have some tests here and there that were not migrated to AssertJ. This finishes them all. Changelog: [Internal] [Changed] - Finalize AssertJ migration Reviewed By: javache Differential Revision: D61473682 fbshipit-source-id: 3d51bfeb0e5ba3fd8cd4f3667dc88de3d88a3dbc --- ...AutolinkingNewArchitecturesFileTaskTest.kt | 49 +++++++++---------- .../react/CompositeReactPackageTest.kt | 7 ++- .../bridge/JavaScriptModuleRegistryTest.kt | 6 +-- .../fabric/events/TouchEventDispatchTest.kt | 8 +-- .../modules/camera/ImageStoreManagerTest.kt | 13 +++-- .../network/ProgressiveStringDecoderTest.kt | 4 +- .../facebook/react/util/JSStackTraceTest.kt | 10 ++-- .../views/image/ReactImagePropertyTest.kt | 37 +++++++------- 8 files changed, 66 insertions(+), 68 deletions(-) diff --git a/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/tasks/GenerateAutolinkingNewArchitecturesFileTaskTest.kt b/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/tasks/GenerateAutolinkingNewArchitecturesFileTaskTest.kt index f124b8c6741..c9a9a53aba6 100644 --- a/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/tasks/GenerateAutolinkingNewArchitecturesFileTaskTest.kt +++ b/packages/gradle-plugin/react-native-gradle-plugin/src/test/kotlin/com/facebook/react/tasks/GenerateAutolinkingNewArchitecturesFileTaskTest.kt @@ -12,7 +12,7 @@ import com.facebook.react.model.ModelAutolinkingDependenciesJson import com.facebook.react.model.ModelAutolinkingDependenciesPlatformAndroidJson import com.facebook.react.model.ModelAutolinkingDependenciesPlatformJson import com.facebook.react.tests.createTestTask -import org.junit.Assert +import org.assertj.core.api.Assertions.assertThat import org.junit.Rule import org.junit.Test import org.junit.rules.TemporaryFolder @@ -24,7 +24,7 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { @Test fun generatePackageListTask_groupIsSetCorrectly() { val task = createTestTask {} - Assert.assertEquals("react", task.group) + assertThat(task.group).isEqualTo("react") } @Test @@ -38,22 +38,22 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { it.autolinkInputFile.set(inputFile) } - Assert.assertEquals(inputFile, task.inputs.files.singleFile) - Assert.assertEquals(outputFolder, task.outputs.files.singleFile) + assertThat(task.generatedOutputDirectory.get().asFile).isEqualTo(outputFolder) + assertThat(task.generatedOutputDirectory.get().asFile).isEqualTo(outputFolder) } @Test fun filterAndroidPackages_withNull_returnsEmpty() { val task = createTestTask() val result = task.filterAndroidPackages(null) - Assert.assertEquals(emptyList(), result) + assertThat(result).isEmpty() } @Test fun filterAndroidPackages_withEmptyObject_returnsEmpty() { val task = createTestTask() val result = task.filterAndroidPackages(ModelAutolinkingConfigJson("1000.0.0", null, null)) - Assert.assertEquals(emptyList(), result) + assertThat(result).isEmpty() } @Test @@ -72,7 +72,7 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { platforms = ModelAutolinkingDependenciesPlatformJson(android = null))), project = null)) - Assert.assertEquals(emptyList(), result) + assertThat(result).isEmpty() } @Test @@ -99,8 +99,7 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { platforms = ModelAutolinkingDependenciesPlatformJson(android = android))), project = null)) - Assert.assertEquals(1, result.size) - Assert.assertEquals(android, result.first()) + assertThat(result).containsExactly(android) } @Test @@ -109,8 +108,9 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { createTestTask() .generateCmakeFileContent(emptyList()) // language=cmake - Assert.assertEquals( - """ + assertThat(output) + .isEqualTo( + """ # This code was generated by [React Native](https://www.npmjs.com/package/@react-native/gradle-plugin) cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) @@ -121,8 +121,7 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { ) """ - .trimIndent(), - output) + .trimIndent()) } @Test @@ -131,8 +130,9 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { createTestTask() .generateCmakeFileContent(testDependencies) // language=cmake - Assert.assertEquals( - """ + assertThat(output) + .isEqualTo( + """ # This code was generated by [React Native](https://www.npmjs.com/package/@react-native/gradle-plugin) cmake_minimum_required(VERSION 3.13) set(CMAKE_VERBOSE_MAKEFILE on) @@ -147,8 +147,7 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { another_cxxModule ) """ - .trimIndent(), - output) + .trimIndent()) } @Test @@ -157,8 +156,9 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { createTestTask() .generateCppFileContent(emptyList()) // language=cpp - Assert.assertEquals( - """ + assertThat(output) + .isEqualTo( + """ /** * This code was generated by [React Native](https://www.npmjs.com/package/@react-native/gradle-plugin). * @@ -191,8 +191,7 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { } // namespace react } // namespace facebook """ - .trimIndent(), - output) + .trimIndent()) } @Test @@ -201,8 +200,9 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { createTestTask() .generateCppFileContent(testDependencies) // language=cpp - Assert.assertEquals( - """ + assertThat(output) + .isEqualTo( + """ /** * This code was generated by [React Native](https://www.npmjs.com/package/@react-native/gradle-plugin). * @@ -247,8 +247,7 @@ class GenerateAutolinkingNewArchitecturesFileTaskTest { } // namespace react } // namespace facebook """ - .trimIndent(), - output) + .trimIndent()) } private val testDependencies = diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.kt index 7305f808f40..74607b2c545 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.kt @@ -11,8 +11,7 @@ import com.facebook.react.bridge.BridgeReactContext import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.uimanager.ViewManager -import java.util.* -import org.junit.Assert +import org.assertj.core.api.Assertions.assertThat import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -95,7 +94,7 @@ class CompositeReactPackageTest { // Note that there should be no module2 returned. val expected: Set = setOf(moduleNo1, moduleNo3, moduleNo4) val actual: Set = compositeModules.toSet() - Assert.assertEquals(expected, actual) + assertThat(actual).isEqualTo(expected) } @Test @@ -127,6 +126,6 @@ class CompositeReactPackageTest { // Note that there should be no managerNo2 returned. val expected: Set> = setOf(managerNo1, managerNo3, managerNo4) val actual: Set> = compositeModules.toSet() - Assert.assertEquals(expected, actual) + assertThat(actual).isEqualTo(expected) } } diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.kt index 48f4dccdff3..aed788321f2 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.kt @@ -7,7 +7,7 @@ package com.facebook.react.bridge -import org.junit.Assert +import org.assertj.core.api.Assertions.assertThat import org.junit.Test /** Tests for [JavaScriptModuleRegistry] */ @@ -23,12 +23,12 @@ class JavaScriptModuleRegistryTest { @Test fun testGetJSModuleName() { val name = JavaScriptModuleRegistry.getJSModuleName(TestJavaScriptModule::class.java) - Assert.assertEquals("TestJavaScriptModule", name) + assertThat(name).isEqualTo("TestJavaScriptModule") } @Test fun testGetJSModuleName_stripOuterClass() { val name = JavaScriptModuleRegistry.getJSModuleName(`OuterClass$NestedInnerClass`::class.java) - Assert.assertEquals("NestedInnerClass", name) + assertThat(name).isEqualTo("NestedInnerClass") } } diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt index 18d9cb9c93b..454982113c3 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.kt @@ -29,8 +29,8 @@ import com.facebook.react.uimanager.events.TouchEventCoalescingKeyHelper import com.facebook.react.uimanager.events.TouchEventType import com.facebook.testutils.fakes.FakeBatchEventDispatchedListener import com.facebook.testutils.shadows.ShadowSoLoader +import org.assertj.core.api.Assertions.assertThat import org.junit.After -import org.junit.Assert import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -509,7 +509,7 @@ class TouchEventDispatchTest { val argument = ArgumentCaptor.forClass(WritableMap::class.java) verify(uiManager, times(4)) .receiveEvent(anyInt(), anyInt(), anyString(), anyBoolean(), argument.capture(), anyInt()) - Assert.assertEquals(startMoveEndExpectedSequence, argument.allValues) + assertThat(startMoveEndExpectedSequence).isEqualTo(argument.allValues) } @Test @@ -520,7 +520,7 @@ class TouchEventDispatchTest { val argument = ArgumentCaptor.forClass(WritableMap::class.java) verify(uiManager, times(6)) .receiveEvent(anyInt(), anyInt(), anyString(), anyBoolean(), argument.capture(), anyInt()) - Assert.assertEquals(startMoveCancelExpectedSequence, argument.allValues) + assertThat(startMoveCancelExpectedSequence).isEqualTo(argument.allValues) } @Test @@ -531,7 +531,7 @@ class TouchEventDispatchTest { val argument = ArgumentCaptor.forClass(WritableMap::class.java) verify(uiManager, times(6)) .receiveEvent(anyInt(), anyInt(), anyString(), anyBoolean(), argument.capture(), anyInt()) - Assert.assertEquals(startPointerMoveUpExpectedSequence, argument.allValues) + assertThat(startPointerMoveUpExpectedSequence).isEqualTo(argument.allValues) } private fun createTouchEvent( diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.kt index 9811ff79300..a116b799cb0 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.kt @@ -13,7 +13,7 @@ import com.facebook.react.bridge.ReactApplicationContext import java.io.ByteArrayInputStream import java.io.InputStream import java.util.* -import org.junit.Assert +import org.assertj.core.api.Assertions.assertThat import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -35,13 +35,12 @@ class ImageStoreManagerTest { @Test fun itDoesNotAddLineBreaks_whenBasicStringProvided() { val exampleString = "test".toByteArray() - Assert.assertEquals("dGVzdA==", invokeConversion(ByteArrayInputStream(exampleString))) + assertThat(invokeConversion(ByteArrayInputStream(exampleString))).isEqualTo("dGVzdA==") } @Test fun itDoesNotAddLineBreaks_whenEmptyStringProvided() { - val exampleString = "".toByteArray() - Assert.assertEquals("", invokeConversion(ByteArrayInputStream(exampleString))) + assertThat(invokeConversion(ByteArrayInputStream("".toByteArray()))).isEqualTo("") } @Test @@ -49,7 +48,7 @@ class ImageStoreManagerTest { val exampleString = "sdfsdf\nasdfsdfsdfsd\r\nasdas".toByteArray() val inputStream = ByteArrayInputStream(exampleString) val converted = invokeConversion(inputStream) - Assert.assertFalse(converted.contains("\n")) + assertThat(converted).doesNotContain("\n") } /** @@ -59,7 +58,7 @@ class ImageStoreManagerTest { fun itDoesNotAddLineBreaks_whenStringBiggerThanBuffer() { val inputStream = ByteArrayInputStream(generateRandomByteString(10000)) val converted = invokeConversion(inputStream) - Assert.assertFalse(converted.contains("\n")) + assertThat(converted).doesNotContain("\n") } /** Just to test if using the ByteArrayInputStream isn't missing something */ @@ -67,7 +66,7 @@ class ImageStoreManagerTest { fun itDoesNotAddLineBreaks_whenBase64InputStream() { val exampleString = "dGVzdA==".toByteArray() val inputStream = Base64InputStream(ByteArrayInputStream(exampleString), Base64.NO_WRAP) - Assert.assertEquals("dGVzdA==", invokeConversion(inputStream)) + assertThat(invokeConversion(inputStream)).isEqualTo("dGVzdA==") } private fun invokeConversion(inputStream: InputStream): String { diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.kt index c58ca1a3ce6..4e74f9582c8 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.kt @@ -10,7 +10,7 @@ package com.facebook.react.modules.network import java.nio.charset.Charset import java.nio.charset.StandardCharsets import kotlin.math.min -import org.junit.Assert +import org.assertj.core.api.Assertions.assertThat import org.junit.Test import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner @@ -135,6 +135,6 @@ class ProgressiveStringDecoderTest { i += chunkSize } val actualString = builder.toString() - Assert.assertEquals(originalString, actualString) + assertThat(actualString).isEqualTo(originalString) } } diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.kt index 95e6f330303..6bb0f280f50 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.kt @@ -9,7 +9,7 @@ package com.facebook.react.util import com.facebook.react.bridge.JavaOnlyArray import com.facebook.react.bridge.JavaOnlyMap -import org.junit.Assert +import org.assertj.core.api.Assertions.assertThat import org.junit.Test class JSStackTraceTest { @@ -82,9 +82,9 @@ class JSStackTraceTest { "file", "address at seg-3_198.js")) val message = JSStackTrace.format("Error", values) - Assert.assertEquals( - message, - """ + assertThat(message) + .isEqualTo( + """ Error, stack: method_from_bundle@7:11 method_from_ram_bundle@199.js:18:13 @@ -95,6 +95,6 @@ class JSStackTraceTest { method_from_ram_segment_with_address@seg-3_198.js:10:20 """ - .trimIndent()) + .trimIndent()) } } diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.kt index c28babc27c1..0466c018ff0 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.kt @@ -26,8 +26,8 @@ import com.facebook.react.uimanager.ThemedReactContext import com.facebook.react.util.RNLog import com.facebook.react.views.imagehelper.ImageSource import com.facebook.soloader.SoLoader +import org.assertj.core.api.Assertions.assertThat import org.junit.After -import org.junit.Assert import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -100,22 +100,22 @@ class ReactImagePropertyTest { buildStyles("src", JavaOnlyArray.of(JavaOnlyMap.of("uri", "http://mysite.com/mypic.jpg")))) viewManager.updateProperties(view, buildStyles("borderColor", Color.argb(0, 0, 255, 255))) var borderColor = view.hierarchy.roundingParams!!.borderColor - Assert.assertEquals(0, Color.alpha(borderColor).toLong()) - Assert.assertEquals(0, Color.red(borderColor).toLong()) - Assert.assertEquals(255, Color.green(borderColor).toLong()) - Assert.assertEquals(255, Color.blue(borderColor).toLong()) + assertThat(Color.alpha(borderColor)).isEqualTo(0) + assertThat(Color.red(borderColor)).isEqualTo(0) + assertThat(Color.green(borderColor)).isEqualTo(255) + assertThat(Color.blue(borderColor)).isEqualTo(255) viewManager.updateProperties(view, buildStyles("borderColor", Color.argb(0, 255, 50, 128))) borderColor = view.hierarchy.roundingParams!!.borderColor - Assert.assertEquals(0, Color.alpha(borderColor).toLong()) - Assert.assertEquals(255, Color.red(borderColor).toLong()) - Assert.assertEquals(50, Color.green(borderColor).toLong()) - Assert.assertEquals(128, Color.blue(borderColor).toLong()) + assertThat(Color.alpha(borderColor)).isEqualTo(0) + assertThat(Color.red(borderColor)).isEqualTo(255) + assertThat(Color.green(borderColor)).isEqualTo(50) + assertThat(Color.blue(borderColor)).isEqualTo(128) viewManager.updateProperties(view, buildStyles("borderColor", null)) borderColor = view.hierarchy.roundingParams!!.borderColor - Assert.assertEquals(0, Color.alpha(borderColor).toLong()) - Assert.assertEquals(0, Color.red(borderColor).toLong()) - Assert.assertEquals(0, Color.green(borderColor).toLong()) - Assert.assertEquals(0, Color.blue(borderColor).toLong()) + assertThat(Color.alpha(borderColor)).isEqualTo(0) + assertThat(Color.red(borderColor)).isEqualTo(0) + assertThat(Color.green(borderColor)).isEqualTo(0) + assertThat(Color.blue(borderColor)).isEqualTo(0) } @Test @@ -138,20 +138,20 @@ class ReactImagePropertyTest { val viewManager = ReactImageManager() val view = viewManager.createViewInstance(themeContext) viewManager.setAccessible(view, true) - Assert.assertEquals(true, view.isFocusable) + assertThat(view.isFocusable).isTrue() } @Test fun testTintColor() { val viewManager = ReactImageManager() val view = viewManager.createViewInstance(themeContext) - Assert.assertNull(view.colorFilter) + assertThat(view.colorFilter).isNull() viewManager.updateProperties(view, buildStyles("tintColor", Color.argb(50, 0, 0, 255))) // Can't actually assert the specific color so this is the next best thing. // Does the color filter now exist? - Assert.assertNotNull(view.colorFilter) + assertThat(view.colorFilter).isNotNull() viewManager.updateProperties(view, buildStyles("tintColor", null)) - Assert.assertNull(view.colorFilter) + assertThat(view.colorFilter).isNull() } @Test @@ -166,6 +166,7 @@ class ReactImagePropertyTest { sources.pushMap(srcObj) viewManager.setSource(view, sources) view.maybeUpdateView() - Assert.assertEquals(ImageSource.getTransparentBitmapImageSource(view.context), view.imageSource) + assertThat(ImageSource.getTransparentBitmapImageSource(view.context)) + .isEqualTo(view.imageSource) } }