From db7f4bb4023a7a1b41b2cbb0eb60dde4b2bad139 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Wed, 18 Jul 2018 17:14:38 +0300 Subject: [PATCH] Deprecate js Math.random and provide replacement with Random.nextDouble #KT-23564 Fixed --- libraries/stdlib/common/test/testUtils.kt | 2 -- libraries/stdlib/js/src/kotlin/js.math.kt | 1 + libraries/stdlib/js/test/core/testUtils.kt | 3 --- libraries/stdlib/jvm/test/testUtilsJVM.kt | 2 -- libraries/stdlib/test/utils/KotlinVersionTest.kt | 4 ++-- 5 files changed, 3 insertions(+), 9 deletions(-) diff --git a/libraries/stdlib/common/test/testUtils.kt b/libraries/stdlib/common/test/testUtils.kt index 1382243ec81..8ddc52ec0a6 100644 --- a/libraries/stdlib/common/test/testUtils.kt +++ b/libraries/stdlib/common/test/testUtils.kt @@ -7,6 +7,4 @@ package test public expect fun assertTypeEquals(expected: Any?, actual: Any?) -public expect fun randomInt(limit: Int): Int - internal expect fun String.removeLeadingPlusOnJava6(): String diff --git a/libraries/stdlib/js/src/kotlin/js.math.kt b/libraries/stdlib/js/src/kotlin/js.math.kt index 5561101dd87..553e727d067 100644 --- a/libraries/stdlib/js/src/kotlin/js.math.kt +++ b/libraries/stdlib/js/src/kotlin/js.math.kt @@ -12,6 +12,7 @@ package kotlin.js public external object Math { @Deprecated("Use kotlin.math.PI instead.", ReplaceWith("PI", "kotlin.math.PI")) public val PI: Double + @Deprecated("Use Random.nextDouble instead", ReplaceWith("kotlin.random.Random.nextDouble()", "kotlin.random.Random")) public fun random(): Double @Deprecated("Use kotlin.math.abs instead.", ReplaceWith("abs(value)", "kotlin.math.abs")) public fun abs(value: Double): Double diff --git a/libraries/stdlib/js/test/core/testUtils.kt b/libraries/stdlib/js/test/core/testUtils.kt index 9fe5a4e61e6..79be7759abf 100644 --- a/libraries/stdlib/js/test/core/testUtils.kt +++ b/libraries/stdlib/js/test/core/testUtils.kt @@ -11,8 +11,5 @@ public actual fun assertTypeEquals(expected: Any?, actual: Any?) { assertEquals(expected?.let { it::class.js }, actual?.let { it::class.js }) } -@Suppress("DEPRECATION") -public actual fun randomInt(limit: Int): Int = (kotlin.js.Math.random() * limit).toInt() - @Suppress("NOTHING_TO_INLINE") internal actual inline fun String.removeLeadingPlusOnJava6(): String = this diff --git a/libraries/stdlib/jvm/test/testUtilsJVM.kt b/libraries/stdlib/jvm/test/testUtilsJVM.kt index 43f74be0e8d..f940cca590a 100644 --- a/libraries/stdlib/jvm/test/testUtilsJVM.kt +++ b/libraries/stdlib/jvm/test/testUtilsJVM.kt @@ -11,8 +11,6 @@ public actual fun assertTypeEquals(expected: Any?, actual: Any?) { assertEquals(expected?.javaClass, actual?.javaClass) } -public actual fun randomInt(limit: Int): Int = (Math.random() * limit).toInt() - private val isJava6 = System.getProperty("java.version").startsWith("1.6.") internal actual fun String.removeLeadingPlusOnJava6(): String = diff --git a/libraries/stdlib/test/utils/KotlinVersionTest.kt b/libraries/stdlib/test/utils/KotlinVersionTest.kt index c867341d30c..8d4086f3968 100644 --- a/libraries/stdlib/test/utils/KotlinVersionTest.kt +++ b/libraries/stdlib/test/utils/KotlinVersionTest.kt @@ -5,7 +5,7 @@ package test.utils -import test.randomInt +import kotlin.random.Random import kotlin.test.* @@ -61,7 +61,7 @@ class KotlinVersionTest { } @Test fun randomVersionComparison() { - fun randomComponent(): Int = randomInt(KotlinVersion.MAX_COMPONENT_VALUE + 1) + fun randomComponent(): Int = Random.nextInt(KotlinVersion.MAX_COMPONENT_VALUE + 1) fun randomVersion() = KotlinVersion(randomComponent(), randomComponent(), randomComponent()) repeat(1000) { val v1 = randomVersion()