diff --git a/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/DefaultAsserter.kt b/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/DefaultAsserter.kt index 0346ac58fba..37053ac9014 100644 --- a/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/DefaultAsserter.kt +++ b/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/DefaultAsserter.kt @@ -8,12 +8,17 @@ package kotlin.test /** * Default [Asserter] implementation to avoid dependency on JUnit or TestNG. */ -// TODO: make object in 1.2 -class DefaultAsserter : Asserter { +object DefaultAsserter : Asserter { override fun fail(message: String?): Nothing { if (message == null) throw AssertionError() else throw AssertionError(message) } -} \ No newline at end of file +} + +@Deprecated("DefaultAsserter is an object now, constructor call is not required anymore", + ReplaceWith("DefaultAsserter", "kotlin.test.DefaultAsserter")) +@kotlin.js.JsName("DefaultAsserterConstructor") +@Suppress("FunctionName") +fun DefaultAsserter(): DefaultAsserter = DefaultAsserter \ No newline at end of file diff --git a/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Utils.kt b/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Utils.kt index ac1cc8e6eb8..8cce9b35cad 100644 --- a/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Utils.kt +++ b/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Utils.kt @@ -9,9 +9,4 @@ internal fun messagePrefix(message: String?) = if (message == null) "" else "$me internal expect fun lookupAsserter(): Asserter @PublishedApi // required to get stable name as it's called from box tests -internal fun overrideAsserter(value: Asserter?): Asserter? { - // TODO: Replace with return _asserter.also { _asserter = value } after KT-17540 is fixed - val previous = _asserter - _asserter = value - return previous -} \ No newline at end of file +internal fun overrideAsserter(value: Asserter?): Asserter? = _asserter.also { _asserter = value } \ No newline at end of file diff --git a/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt b/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt index 37955a9ae98..cb16ab674dc 100644 --- a/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt +++ b/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt @@ -199,7 +199,7 @@ private fun checkFailedAssertion(assertion: () -> Unit) { @Suppress("INVISIBLE_MEMBER") private fun withDefaultAsserter(block: () -> Unit) { - val current = overrideAsserter(DefaultAsserter()) + val current = overrideAsserter(DefaultAsserter) try { block() } finally { diff --git a/libraries/kotlin.test/jvm/src/main/kotlin/AsserterLookup.kt b/libraries/kotlin.test/jvm/src/main/kotlin/AsserterLookup.kt index 5334a7d8e18..f3904aec629 100644 --- a/libraries/kotlin.test/jvm/src/main/kotlin/AsserterLookup.kt +++ b/libraries/kotlin.test/jvm/src/main/kotlin/AsserterLookup.kt @@ -9,12 +9,10 @@ import java.util.ServiceLoader private val contributors = ServiceLoader.load(AsserterContributor::class.java).toList() -private val defaultAsserter = DefaultAsserter() - internal actual fun lookupAsserter(): Asserter { for (contributor in contributors) { val asserter = contributor.contribute() if (asserter != null) return asserter } - return defaultAsserter + return DefaultAsserter } \ No newline at end of file