Remove codegen tests on old language and API versions
This commit is contained in:
-17
@@ -1,17 +0,0 @@
|
||||
// !LANGUAGE: -ProperForInArrayLoopRangeVariableAssignmentSemantic
|
||||
// IGNORE_BACKEND: NATIVE
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND: JS_IR_ES6
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JS
|
||||
|
||||
fun box(): String {
|
||||
var xs = intArrayOf(1, 2, 3)
|
||||
var sum = 0
|
||||
for (x in xs) {
|
||||
sum = sum * 10 + x
|
||||
xs = intArrayOf(4, 5)
|
||||
}
|
||||
return if (sum == 15) "OK" else "Fail: $sum"
|
||||
}
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
// DONT_TARGET_EXACT_BACKEND: WASM
|
||||
// WASM_MUTE_REASON: IGNORED_IN_JS
|
||||
// !LANGUAGE: -DataClassInheritance
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND: JS_IR_ES6
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
data class Foo(val s: String)
|
||||
|
||||
fun box(): String {
|
||||
val f1 = Foo("OK")
|
||||
val f2 = Foo("OK")
|
||||
if (f1 != f2) return "Fail equals"
|
||||
if (f1.hashCode() != f2.hashCode()) return "Fail hashCode"
|
||||
if (f1.toString() != f2.toString() || f1.toString() != "Foo(s=OK)") return "Fail toString: $f1 $f2"
|
||||
|
||||
return f1.s
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
// DONT_TARGET_EXACT_BACKEND: WASM
|
||||
// WASM_MUTE_REASON: BIG_ARITY
|
||||
// !LANGUAGE: -FunctionTypesWithBigArity
|
||||
|
||||
// This test does not make sense for JVM because a diagnostic is reported when function types with big arity are not available
|
||||
// (see diagnostics/tests/sourceCompatibility/noBigFunctionTypes.kt)
|
||||
// IGNORE_BACKEND: JVM, JVM_IR
|
||||
|
||||
class A
|
||||
|
||||
fun foo(
|
||||
p00: A, p01: A, p02: A, p03: A, p04: A, p05: A, p06: A, p07: A, p08: A, p09: A,
|
||||
p10: A, p11: A, p12: A, p13: A, p14: A, p15: A, p16: A, p17: A, p18: A, p19: A,
|
||||
p20: A, p21: A, p22: A, p23: A, p24: A, p25: A, p26: A, p27: A, p28: A, p29: A
|
||||
): String = "OK"
|
||||
|
||||
fun bar(x: Function30<A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, String>): String {
|
||||
val a = A()
|
||||
return x(a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return bar(::foo)
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// !LANGUAGE: -ThrowNpeOnExplicitEqualsForBoxedNull
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// ^ ThrowNpeOnExplicitEqualsForBoxedNull is introduced in 1.2.
|
||||
// MODULE: lib
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass {
|
||||
|
||||
public Double minus0(){
|
||||
return -0.0;
|
||||
}
|
||||
|
||||
public Double plus0(){
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
public Double null0(){
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: b.kt
|
||||
|
||||
fun box(): String {
|
||||
val jClass = JavaClass()
|
||||
|
||||
if (jClass.null0().equals(jClass.plus0())) return "fail 6"
|
||||
if (jClass.minus0().equals(jClass.null0())) return "fail 7"
|
||||
return "OK"
|
||||
}
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
// !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"
|
||||
}
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
// !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"
|
||||
}
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
// !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"
|
||||
}
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
// !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"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
// !LANGUAGE: -ProperIeee754Comparisons
|
||||
// !API_VERSION: 1.0
|
||||
// IGNORE_BACKEND: NATIVE
|
||||
// DONT_TARGET_EXACT_BACKEND: JS_IR
|
||||
// DONT_TARGET_EXACT_BACKEND: JS_IR_ES6
|
||||
|
||||
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 -> {
|
||||
return "fail 2"
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
|
||||
if (minusZero is Double) {
|
||||
when (plusZero) {
|
||||
nullDouble -> {
|
||||
return "fail 3"
|
||||
}
|
||||
minusZero -> {
|
||||
return "fail 4"
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
// !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"
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// !LANGUAGE: -NullabilityAssertionOnExtensionReceiver
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
private operator fun A.inc() = A()
|
||||
|
||||
fun box(): String {
|
||||
var aNull = A.n()
|
||||
aNull++
|
||||
// NB no exception is thrown in language version 1.1
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// FILE: A.java
|
||||
public class A {
|
||||
public static A n() { return null; }
|
||||
}
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
// !LANGUAGE: -NullabilityAssertionOnExtensionReceiver
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
operator fun A.inc() = A()
|
||||
|
||||
fun box(): String {
|
||||
assertFailsWith<NullPointerException> {
|
||||
var aNull = A.n()
|
||||
aNull++
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// FILE: A.java
|
||||
public class A {
|
||||
public static A n() { return null; }
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// !LANGUAGE: -NullabilityAssertionOnExtensionReceiver
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
import kotlin.test.*
|
||||
|
||||
fun String.extension() {}
|
||||
|
||||
fun box(): String {
|
||||
assertFailsWith<NullPointerException> { J.s().extension() }
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// FILE: J.java
|
||||
public class J {
|
||||
public static String s() { return null; }
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// !LANGUAGE: -NullabilityAssertionOnExtensionReceiver
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
import kotlin.test.*
|
||||
|
||||
inline fun String.extension() {}
|
||||
|
||||
fun box(): String {
|
||||
J.s().extension() // NB no exception thrown
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// FILE: J.java
|
||||
public class J {
|
||||
public static String s() { return null; }
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
// !LANGUAGE: -ProhibitOperatorMod
|
||||
// !API_VERSION: 1.0
|
||||
// TARGET_BACKEND: JVM
|
||||
// FULL_JDK
|
||||
|
||||
import java.math.BigInteger
|
||||
|
||||
fun box(): String {
|
||||
val m = BigInteger.valueOf(-2) % BigInteger.valueOf(3)
|
||||
return if (m != BigInteger.valueOf(1)) "Fail: BigInteger(-2) mod BigInteger(3) == $m" else "OK"
|
||||
}
|
||||
Vendored
-39
@@ -1,39 +0,0 @@
|
||||
// !LANGUAGE: -ThrowNpeOnExplicitEqualsForBoxedNull
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
import kotlin.test.*
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(J.BOOL_NULL.equals(null), true)
|
||||
assertEquals(J.CHAR_NULL.equals(null), true)
|
||||
assertEquals(J.BYTE_NULL.equals(null), true)
|
||||
assertEquals(J.SHORT_NULL.equals(null), true)
|
||||
assertEquals(J.INT_NULL.equals(null), true)
|
||||
assertEquals(J.LONG_NULL.equals(null), true)
|
||||
assertEquals(J.FLOAT_NULL.equals(null), true)
|
||||
assertEquals(J.DOUBLE_NULL.equals(null), true)
|
||||
|
||||
assertEquals(J.BOOL_NULL == null, true)
|
||||
assertEquals(J.CHAR_NULL == null, true)
|
||||
assertEquals(J.BYTE_NULL == null, true)
|
||||
assertEquals(J.SHORT_NULL == null, true)
|
||||
assertEquals(J.INT_NULL == null, true)
|
||||
assertEquals(J.LONG_NULL == null, true)
|
||||
assertEquals(J.FLOAT_NULL == null, true)
|
||||
assertEquals(J.DOUBLE_NULL == null, true)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// FILE: J.java
|
||||
public class J {
|
||||
public static Boolean BOOL_NULL = null;
|
||||
public static Character CHAR_NULL = null;
|
||||
public static Byte BYTE_NULL = null;
|
||||
public static Short SHORT_NULL = null;
|
||||
public static Integer INT_NULL = null;
|
||||
public static Long LONG_NULL = null;
|
||||
public static Float FLOAT_NULL = null;
|
||||
public static Double DOUBLE_NULL = null;
|
||||
}
|
||||
Reference in New Issue
Block a user