diff --git a/js/js.libraries/src/stdlib/testCode.kt b/js/js.libraries/src/stdlib/testCode.kt index 3371d3af2d7..5309fc87507 100644 --- a/js/js.libraries/src/stdlib/testCode.kt +++ b/js/js.libraries/src/stdlib/testCode.kt @@ -25,6 +25,10 @@ public class QUnitAsserter(): Asserter { QUnit.ok(expected == actual, "$message. Expected <$expected> actual <$actual>") } + public override fun assertNotEquals(message: String, illegal: Any?, actual: Any?) { + QUnit.ok(illegal != actual, "$message. Illegal value: <$illegal>") + } + public override fun assertNotNull(message: String, actual: Any?) { QUnit.ok(actual != null, message) } diff --git a/js/js.translator/testData/jsTester/jsTester.kt b/js/js.translator/testData/jsTester/jsTester.kt index c37afd6c39a..8a3d9e728bb 100644 --- a/js/js.translator/testData/jsTester/jsTester.kt +++ b/js/js.translator/testData/jsTester/jsTester.kt @@ -13,6 +13,9 @@ public class JsTestsAsserter() : Asserter { public override fun assertEquals(message: String, expected: Any?, actual: Any?) { assert(actual == expected, "$message. Expected <$expected> actual <$actual>") } + public override fun assertNotEquals(message: String, illegal: Any?, actual: Any?) { + assert(illegal != actual, "$message. Illegal value: <$illegal>") + } public override fun assertNotNull(message: String, actual: Any?) { assert(actual != null, message) } diff --git a/libraries/kunit/src/main/kotlin/junit/JUnit.kt b/libraries/kunit/src/main/kotlin/junit/JUnit.kt index ebd721e5447..6d34bdf8ec8 100644 --- a/libraries/kunit/src/main/kotlin/junit/JUnit.kt +++ b/libraries/kunit/src/main/kotlin/junit/JUnit.kt @@ -8,6 +8,10 @@ class JUnitAsserter : Asserter { Assert.assertEquals(message, expected, actual) } + override fun assertNotEquals(message : String, illegal : Any?, actual : Any?) { + Assert.assertNotEquals(message, illegal, actual) + } + override fun assertNotNull(message : String, actual : Any?) { Assert.assertNotNull(message, actual) } diff --git a/libraries/pom.xml b/libraries/pom.xml index 2c64d020372..0b7f51e84e4 100644 --- a/libraries/pom.xml +++ b/libraries/pom.xml @@ -45,7 +45,7 @@ 3.3.1 dart-r3300 11.0.2 - 4.10 + 4.11 0.2.3.8 ${project-root}/dist ${kotlin-dist}/kotlinc diff --git a/libraries/stdlib/src/kotlin/test/Test.kt b/libraries/stdlib/src/kotlin/test/Test.kt index ea366d5e67b..71033424921 100644 --- a/libraries/stdlib/src/kotlin/test/Test.kt +++ b/libraries/stdlib/src/kotlin/test/Test.kt @@ -35,6 +35,11 @@ public fun assertEquals(expected: Any?, actual: Any?, message: String = "") { asserter.assertEquals(message, expected, actual) } +/** Asserts that the actual value is not equal to the illegal value, with an optional message */ +public fun assertNotEquals(illegal: Any?, actual: Any?, message: String = "") { + asserter.assertNotEquals(message, illegal, actual) +} + /** Asserts that the expression is not null, with an optional message */ public fun assertNotNull(actual: T?, message: String = ""): T { asserter.assertNotNull(message, actual) @@ -91,6 +96,8 @@ public trait Asserter { public fun assertEquals(message: String, expected: Any?, actual: Any?): Unit + public fun assertNotEquals(message: String, illegal: Any?, actual: Any?): Unit + public fun assertNotNull(message: String, actual: Any?): Unit public fun assertNull(message: String, actual: Any?): Unit diff --git a/libraries/stdlib/src/kotlin/test/TestJVM.kt b/libraries/stdlib/src/kotlin/test/TestJVM.kt index 3e05ff64670..9326b5aa208 100644 --- a/libraries/stdlib/src/kotlin/test/TestJVM.kt +++ b/libraries/stdlib/src/kotlin/test/TestJVM.kt @@ -67,6 +67,12 @@ private class DefaultAsserter() : Asserter { } } + override fun assertNotEquals(message : String, illegal: Any?, actual : Any?) { + if (illegal == actual) { + fail("$message. Illegal value: <$illegal>") + } + } + public override fun assertNotNull(message : String, actual : Any?) { if (actual == null) { fail(message)