Added tests with mixture of SAM and non-SAM parameters.

This commit is contained in:
Evgeny Gerashchenko
2013-04-16 22:45:48 +04:00
parent 7bd11718de
commit e554228a73
6 changed files with 44 additions and 0 deletions
@@ -0,0 +1,9 @@
import java.util.*;
class JavaClass {
public static String findMaxAndInvokeCallback(Comparator<String> comparator, String a, String b, Runnable afterRunnable) {
int compare = comparator.compare(a, b);
afterRunnable.run();
return compare > 0 ? a : b;
}
}
@@ -0,0 +1,6 @@
fun box(): String {
var v = "FAIL"
val max = JavaClass.findMaxAndInvokeCallback({ a, b -> a.length - b.length }, "foo", "kotlin", { v = "OK" })
if (max != "kotlin") return "Wrong max: $max"
return v
}
@@ -0,0 +1,9 @@
package test;
import java.util.*;
public class SeveralSamParameters {
public static String findMaxAndInvokeCallback(Comparator<String> comparator, String a, String b, Runnable afterRunnable) {
throw new UnsupportedOperationException();
}
}
@@ -0,0 +1,10 @@
package test
public open class SeveralSamParameters : java.lang.Object {
public constructor SeveralSamParameters()
}
package SeveralSamParameters {
public open /*synthesized*/ fun findMaxAndInvokeCallback(/*0*/ p0 : ((jet.String?, jet.String?) -> jet.Int)?, /*1*/ p1 : jet.String?, /*2*/ p2 : jet.String?, /*3*/ p3 : (() -> jet.Unit)?) : jet.String?
public open fun findMaxAndInvokeCallback(/*0*/ p0 : java.util.Comparator<jet.String>?, /*1*/ p1 : jet.String?, /*2*/ p2 : jet.String?, /*3*/ p3 : java.lang.Runnable?) : jet.String?
}
@@ -127,6 +127,11 @@ public class BlackBoxWithJavaCodegenTestGenerated extends AbstractBlackBoxCodege
doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/fileFilter.kt");
}
@TestMetadata("severalSamParameters.kt")
public void testSeveralSamParameters() throws Exception {
doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/severalSamParameters.kt");
}
@TestMetadata("simplest.kt")
public void testSimplest() throws Exception {
doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/simplest.kt");
@@ -1234,6 +1234,11 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest {
doTestCompiledJava("compiler/testData/loadJava/compiledJava/singleAbstractMethod/adapter/NonTrivialFunctionType.java");
}
@TestMetadata("SeveralSamParameters.java")
public void testSeveralSamParameters() throws Exception {
doTestCompiledJava("compiler/testData/loadJava/compiledJava/singleAbstractMethod/adapter/SeveralSamParameters.java");
}
}
public static Test innerSuite() {