[Backend] Reorganize version 1.0 codegen tests

- Extract all backend codegen tests that specifically target behaviour
  in to-be-deprecated functionality from language versions < 1.3"
- Remove those tests from the JVM IR test suite.
This commit is contained in:
Kristoffer Andersen
2019-10-18 12:21:47 +02:00
committed by Alexander Udalov
parent 38ea5a85a3
commit 8af3b3e51e
24 changed files with 300 additions and 313 deletions
@@ -0,0 +1,29 @@
// !API_VERSION: 1.0
fun myEquals(a: Double?, b: Double?) = a == b
fun myEquals1(a: Double?, b: Double) = a == b
fun myEquals2(a: Double, b: Double?) = a == b
fun myEquals0(a: Double, b: Double) = a == b
fun box(): String {
if (!myEquals(null, null)) return "fail 1"
if (myEquals(null, 0.0)) return "fail 2"
if (myEquals(0.0, null)) return "fail 3"
if (!myEquals(0.0, 0.0)) return "fail 4"
if (myEquals1(null, 0.0)) return "fail 5"
if (!myEquals1(0.0, 0.0)) return "fail 6"
if (myEquals2(0.0, null)) return "fail 7"
if (!myEquals2(0.0, 0.0)) return "fail 8"
if (!myEquals0(0.0, 0.0)) return "fail 9"
return "OK"
}
// 0 areEqual
@@ -0,0 +1,29 @@
// !API_VERSION: 1.0
fun myNotEquals(a: Double?, b: Double?) = a != b
fun myNotEquals1(a: Double?, b: Double) = a != b
fun myNotEquals2(a: Double, b: Double?) = a != b
fun myNotEquals0(a: Double, b: Double) = a != b
fun box(): String {
if (myNotEquals(null, null)) return "fail 1"
if (!myNotEquals(null, 0.0)) return "fail 2"
if (!myNotEquals(0.0, null)) return "fail 3"
if (myNotEquals(0.0, 0.0)) return "fail 4"
if (!myNotEquals1(null, 0.0)) return "fail 5"
if (myNotEquals1(0.0, 0.0)) return "fail 6"
if (!myNotEquals2(0.0, null)) return "fail 7"
if (myNotEquals2(0.0, 0.0)) return "fail 8"
if (myNotEquals0(0.0, 0.0)) return "fail 9"
return "OK"
}
// 0 areEqual
@@ -0,0 +1,29 @@
// !API_VERSION: 1.0
fun myEquals(a: Float?, b: Float?) = a == b
fun myEquals1(a: Float?, b: Float) = a == b
fun myEquals2(a: Float, b: Float?) = a == b
fun myEquals0(a: Float, b: Float) = a == b
fun box(): String {
if (!myEquals(null, null)) return "fail 1"
if (myEquals(null, 0.0F)) return "fail 2"
if (myEquals(0.0F, null)) return "fail 3"
if (!myEquals(0.0F, 0.0F)) return "fail 4"
if (myEquals1(null, 0.0F)) return "fail 5"
if (!myEquals1(0.0F, 0.0F)) return "fail 6"
if (myEquals2(0.0F, null)) return "fail 7"
if (!myEquals2(0.0F, 0.0F)) return "fail 8"
if (!myEquals0(0.0F, 0.0F)) return "fail 9"
return "OK"
}
// 0 areEqual
@@ -0,0 +1,29 @@
// !API_VERSION: 1.0
fun myNotEquals(a: Float?, b: Float?) = a != b
fun myNotEquals1(a: Float?, b: Float) = a != b
fun myNotEquals2(a: Float, b: Float?) = a != b
fun myNotEquals0(a: Float, b: Float) = a != b
fun box(): String {
if (myNotEquals(null, null)) return "fail 1"
if (!myNotEquals(null, 0.0F)) return "fail 2"
if (!myNotEquals(0.0F, null)) return "fail 3"
if (myNotEquals(0.0F, 0.0F)) return "fail 4"
if (!myNotEquals1(null, 0.0F)) return "fail 5"
if (myNotEquals1(0.0F, 0.0F)) return "fail 6"
if (!myNotEquals2(0.0F, null)) return "fail 7"
if (myNotEquals2(0.0F, 0.0F)) return "fail 8"
if (myNotEquals0(0.0F, 0.0F)) return "fail 9"
return "OK"
}
// 0 areEqual
@@ -0,0 +1,23 @@
// !API_VERSION: 1.0
fun equals5(a: Any?, b: Any?) = if (a is Double && b is Double?) a == b else null!!
fun equals6(a: Any?, b: Any?) = if (a is Double? && b is Double) a == b else null!!
fun equals8(a: Any?, b: Any?) = if (a is Double? && b is Double?) a == b else null!!
fun box(): String {
if (!equals5(-0.0, 0.0)) return "fail 5"
if (!equals6(-0.0, 0.0)) return "fail 6"
if (!equals8(-0.0, 0.0)) return "fail 8"
if (!equals8(null, null)) return "fail 9"
if (equals8(null, 0.0)) return "fail 10"
if (equals8(0.0, null)) return "fail 11"
return "OK"
}
// 3 areEqual \(Ljava/lang/Object;Ljava/lang/Object;\)Z
// 3 areEqual
@@ -0,0 +1,23 @@
// !API_VERSION: 1.0
fun equals5(a: Any?, b: Any?) = if (a is Float && b is Float?) a == b else null!!
fun equals6(a: Any?, b: Any?) = if (a is Float? && b is Float) a == b else null!!
fun equals8(a: Any?, b: Any?) = if (a is Float? && b is Float?) a == b else null!!
fun box(): String {
if (!equals5(-0.0F, 0.0F)) return "fail 5"
if (!equals6(-0.0F, 0.0F)) return "fail 6"
if (!equals8(-0.0F, 0.0F)) return "fail 8"
if (!equals8(null, null)) return "fail 9"
if (equals8(null, 0.0F)) return "fail 10"
if (equals8(0.0F, null)) return "fail 11"
return "OK"
}
// 3 areEqual \(Ljava/lang/Object;Ljava/lang/Object;\)Z
// 3 areEqual
@@ -0,0 +1,33 @@
// !API_VERSION: 1.0
fun box(): String {
val plusZero: Any = 0.0
val minusZero: Any = -0.0
val nullDouble: Double? = null
if (plusZero is Double) {
when (plusZero) {
nullDouble -> {
return "fail 1"
}
-0.0 -> {
}
else -> return "fail 2"
}
if (minusZero is Double) {
when (plusZero) {
nullDouble -> {
return "fail 3"
}
minusZero -> {
}
else -> return "fail 4"
}
}
}
return "OK"
}
// 4 areEqual \(Ljava/lang/Object;Ljava/lang/Object;\)Z
// 4 areEqual
@@ -0,0 +1,32 @@
// !API_VERSION: 1.0
fun box(): String {
val nullValue: Any? = null
val nullDouble: Double? = null
val minusZero: Any = -0.0
if (nullValue is Double?) {
when (nullValue) {
-0.0 -> {
return "fail 1"
}
nullDouble -> {}
else -> return "fail 2"
}
if (minusZero is Double) {
when (nullValue) {
minusZero -> {
return "fail 3"
}
nullDouble -> {
}
else -> return "fail 4"
}
}
}
return "OK"
}
// 4 areEqual \(Ljava/lang/Object;Ljava/lang/Object;\)Z
// 4 areEqual