Add test for kotlin.streams function usage in Kotlin code

NB: does not pass in javac mode due to lack of JvmPackageName support
This commit is contained in:
Mikhail Glukhikh
2019-09-30 13:24:39 +03:00
parent f6ff580852
commit e8cf0b5d4f
6 changed files with 32 additions and 4 deletions
@@ -0,0 +1,9 @@
// FULL_JDK
// STDLIB_JDK8
import java.util.*
import kotlin.streams.toList
fun testStreams(list: ArrayList<String>) {
list.stream().toList()
}
@@ -0,0 +1,3 @@
package
public fun testStreams(/*0*/ list: java.util.ArrayList<kotlin.String>): kotlin.Unit
@@ -104,13 +104,14 @@ public abstract class KotlinMultiFileTestWithJava<M, F> extends KtUsefulTestCase
result.add(KotlinTestUtils.getAnnotationsJar()); result.add(KotlinTestUtils.getAnnotationsJar());
result.addAll(getExtraClasspath()); result.addAll(getExtraClasspath());
boolean loadAndroidAnnotations = InTextDirectivesUtils.isDirectiveDefined( String fileText = FilesKt.readText(file, Charsets.UTF_8);
FilesKt.readText(file, Charsets.UTF_8), "ANDROID_ANNOTATIONS"
);
if (loadAndroidAnnotations) { if (InTextDirectivesUtils.isDirectiveDefined(fileText, "ANDROID_ANNOTATIONS")) {
result.add(ForTestCompileRuntime.androidAnnotationsForTests()); result.add(ForTestCompileRuntime.androidAnnotationsForTests());
} }
if (InTextDirectivesUtils.isDirectiveDefined(fileText, "STDLIB_JDK8")) {
result.add(ForTestCompileRuntime.runtimeJarForTestsWithJdk8());
}
return result; return result;
} }
@@ -25,6 +25,11 @@ public class ForTestCompileRuntime {
return assertExists(new File("dist/kotlinc/lib/kotlin-stdlib.jar")); return assertExists(new File("dist/kotlinc/lib/kotlin-stdlib.jar"));
} }
@NotNull
public static File runtimeJarForTestsWithJdk8() {
return assertExists(new File("dist/kotlinc/lib/kotlin-stdlib-jdk8.jar"));
}
@NotNull @NotNull
public static File minimalRuntimeJarForTests() { public static File minimalRuntimeJarForTests() {
return assertExists(new File("dist/kotlin-stdlib-minimal-for-test.jar")); return assertExists(new File("dist/kotlin-stdlib-minimal-for-test.jar"));
@@ -154,6 +154,11 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW
runTest("compiler/testData/diagnostics/testsWithStdLib/shadowingInDestructuring.kt"); runTest("compiler/testData/diagnostics/testsWithStdLib/shadowingInDestructuring.kt");
} }
@TestMetadata("streams.kt")
public void testStreams() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/streams.kt");
}
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations") @TestMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class) @RunWith(JUnit3RunnerWithInners.class)
@@ -154,6 +154,11 @@ public class DiagnosticsTestWithStdLibUsingJavacGenerated extends AbstractDiagno
runTest("compiler/testData/diagnostics/testsWithStdLib/shadowingInDestructuring.kt"); runTest("compiler/testData/diagnostics/testsWithStdLib/shadowingInDestructuring.kt");
} }
@TestMetadata("streams.kt")
public void testStreams() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/streams.kt");
}
@TestMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations") @TestMetadata("compiler/testData/diagnostics/testsWithStdLib/annotations")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class) @RunWith(JUnit3RunnerWithInners.class)