[Analysis API] add test for resolution into declarations with the kotlin. package

^KT-63223
This commit is contained in:
Ilya Kirillov
2023-11-06 21:50:25 +01:00
committed by Space Team
parent 063d73fa73
commit d2b9b487c7
9 changed files with 96 additions and 1 deletions
@@ -2073,6 +2073,18 @@ public class Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exte
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("kotlinPackageAllowed.kt")
public void testKotlinPackageAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageAllowed.kt");
}
@Test
@TestMetadata("kotlinPackageNotAllowed.kt")
public void testKotlinPackageNotAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageNotAllowed.kt");
}
@Test
@TestMetadata("kotlinxPackage.kt")
public void testKotlinxPackage() throws Exception {
@@ -2073,6 +2073,18 @@ public class FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated ex
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("kotlinPackageAllowed.kt")
public void testKotlinPackageAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageAllowed.kt");
}
@Test
@TestMetadata("kotlinPackageNotAllowed.kt")
public void testKotlinPackageNotAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageNotAllowed.kt");
}
@Test
@TestMetadata("kotlinxPackage.kt")
public void testKotlinxPackage() throws Exception {
@@ -1917,6 +1917,18 @@ public class FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerate
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true, "withErrors");
}
@Test
@TestMetadata("kotlinPackageAllowed.kt")
public void testKotlinPackageAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageAllowed.kt");
}
@Test
@TestMetadata("kotlinPackageNotAllowed.kt")
public void testKotlinPackageNotAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageNotAllowed.kt");
}
@Test
@TestMetadata("kotlinxPackage.kt")
public void testKotlinxPackage() throws Exception {
@@ -2073,6 +2073,18 @@ public class FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exten
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("kotlinPackageAllowed.kt")
public void testKotlinPackageAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageAllowed.kt");
}
@Test
@TestMetadata("kotlinPackageNotAllowed.kt")
public void testKotlinPackageNotAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageNotAllowed.kt");
}
@Test
@TestMetadata("kotlinxPackage.kt")
public void testKotlinxPackage() throws Exception {
@@ -2073,6 +2073,18 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("kotlinPackageAllowed.kt")
public void testKotlinPackageAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageAllowed.kt");
}
@Test
@TestMetadata("kotlinPackageNotAllowed.kt")
public void testKotlinPackageNotAllowed() throws Exception {
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinPackageNotAllowed.kt");
}
@Test
@TestMetadata("kotlinxPackage.kt")
public void testKotlinxPackage() throws Exception {
@@ -0,0 +1,13 @@
// ALLOW_KOTLIN_PACKAGE
// FILE: a.kt
package kotlin.pckg
fun foo() {
b<caret>ar()
}
// FILE: b.kt
package kotlin.pckg
fun bar() {
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin.pckg) fun bar()
@@ -0,0 +1,16 @@
// FE1.0 can resolve to `kotlin` package when it's not allowed
// IGNORE_FE10
// UNRESOLVED_REFERENCE
// COMPILATION_ERRORS
// FILE: a.kt
package kotlin.pckg
fun foo() {
b<caret>ar()
}
// FILE: b.kt
package kotlin.pckg
fun bar() {
}
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.analysis.test.framework.services.libraries
import org.jetbrains.kotlin.analysis.test.framework.utils.SkipTestException
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.cliArgument
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.config.JvmTarget
import org.jetbrains.kotlin.test.MockLibraryUtil
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
@@ -59,6 +59,10 @@ object CompilerExecutor {
add("-XXLanguage:$it")
}
if (LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE in module.directives) {
add(CommonCompilerArguments::allowKotlinPackage.cliArgument)
}
module.directives[JvmEnvironmentConfigurationDirectives.JVM_TARGET].firstOrNull()?.let { jvmTarget ->
addAll(listOf(K2JVMCompilerArguments::jvmTarget.cliArgument, jvmTarget.description))