From 6bfb5c59a3207d19ff0ace303383724e2418670d Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Sun, 9 Sep 2018 21:09:02 +0300 Subject: [PATCH] Make ResultTest common Use custom exception type to avoid platform differences in toString implementation. --- .../jvm/test => test/coroutines}/ResultTest.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) rename libraries/stdlib/{coroutines/jvm/test => test/coroutines}/ResultTest.kt (86%) diff --git a/libraries/stdlib/coroutines/jvm/test/ResultTest.kt b/libraries/stdlib/test/coroutines/ResultTest.kt similarity index 86% rename from libraries/stdlib/coroutines/jvm/test/ResultTest.kt rename to libraries/stdlib/test/coroutines/ResultTest.kt index 55fad3ade27..04210ea0ca1 100644 --- a/libraries/stdlib/coroutines/jvm/test/ResultTest.kt +++ b/libraries/stdlib/test/coroutines/ResultTest.kt @@ -8,6 +8,13 @@ package test.kotlin import kotlin.test.* class ResultTest { + + class CustomException(message: String) : Exception(message) { + override fun toString(): String = "CustomException: $message" + } + + fun error(message: String): Nothing = throw CustomException(message) + @Test fun testRunCatchingSuccess() { val ok = runCatching { "OK" } @@ -28,7 +35,7 @@ class ResultTest { @Test fun testConstructedFailure() { - val fail = Result.failure(IllegalStateException("F")) + val fail = Result.failure(CustomException("F")) checkFailure(fail, "F", true) } @@ -70,11 +77,11 @@ class ResultTest { assertEquals(null, fail.getOrNull()) assertEquals(null, fail.getOrElse { null }) assertEquals("DEF", fail.getOrDefault("DEF")) - assertEquals("EX:java.lang.IllegalStateException: $msg", fail.getOrElse { "EX:$it" }) - assertEquals("EX:java.lang.IllegalStateException: $msg", fail.fold({ "V:$it" }, { "EX:$it" })) + assertEquals("EX:CustomException: $msg", fail.getOrElse { "EX:$it" }) + assertEquals("EX:CustomException: $msg", fail.fold({ "V:$it" }, { "EX:$it" })) assertEquals(msg, fail.exceptionOrNull()!!.message) assertEquals(msg, fail.fold(onSuccess = { null }, onFailure = { it })!!.message) - assertEquals("Failure(java.lang.IllegalStateException: $msg)", fail.toString()) + assertEquals("Failure(CustomException: $msg)", fail.toString()) assertEquals(fail, fail) if (topLevel) { checkFailure(fail.map { 42 }, msg)