diff --git a/libraries/stdlib/test/text/StringNumberConversionTest.kt b/libraries/stdlib/test/text/StringNumberConversionTest.kt index 314063d03ff..6d1fa5124c7 100644 --- a/libraries/stdlib/test/text/StringNumberConversionTest.kt +++ b/libraries/stdlib/test/text/StringNumberConversionTest.kt @@ -144,8 +144,11 @@ class StringNumberConversionTest { assertProduces("7.7e1", 77.0) assertProduces("+770e-1", 77.0) - assertProduces("-NaN", -Double.NaN) + assertProduces("NaN", Double.NaN) + assertProduces("Infinity", Double.POSITIVE_INFINITY) assertProduces("+Infinity", Double.POSITIVE_INFINITY) + assertProduces("-NaN", -Double.NaN) + assertProduces("-Infinity", Double.NEGATIVE_INFINITY) assertFailsOrNull("7..7") assertFailsOrNull("007 not a number") @@ -165,8 +168,11 @@ class StringNumberConversionTest { assertProduces("7.7e1", 77.0f) assertProduces("+770e-1", 77.0f) - assertProduces("-NaN", -Float.NaN) + assertProduces("NaN", Float.NaN) + assertProduces("Infinity", Float.POSITIVE_INFINITY) assertProduces("+Infinity", Float.POSITIVE_INFINITY) + assertProduces("-NaN", -Float.NaN) + assertProduces("-Infinity", Float.NEGATIVE_INFINITY) assertFailsOrNull("7..7") assertFailsOrNull("007 not a number") diff --git a/libraries/stdlib/wasm/src/kotlin/text/FloatingPointParser.kt b/libraries/stdlib/wasm/src/kotlin/text/FloatingPointParser.kt index fd7d9f2f811..96e5472fc42 100644 --- a/libraries/stdlib/wasm/src/kotlin/text/FloatingPointParser.kt +++ b/libraries/stdlib/wasm/src/kotlin/text/FloatingPointParser.kt @@ -82,7 +82,7 @@ internal fun parseDouble(string: String): Double { if (tryParseWord("Infinity")) { parseUnsignificants() if (index != string.length) numberFormatError(string) - return if (!isNegative) Double.POSITIVE_INFINITY else -Double.NEGATIVE_INFINITY + return if (!isNegative) Double.POSITIVE_INFINITY else Double.NEGATIVE_INFINITY } val numberBuilder = StringBuilder()