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)