[LL FIR] add script tests for AbstractFileBasedKotlinDeclarationProviderTest
^KT-60728
This commit is contained in:
committed by
Space Team
parent
aa36e2ef5b
commit
e248d1a588
+3
-1
@@ -19,4 +19,6 @@ typealias MyString = String
|
|||||||
|
|
||||||
fun foo() {}
|
fun foo() {}
|
||||||
|
|
||||||
val bar: String = "bar"
|
val bar: String = "bar"
|
||||||
|
|
||||||
|
foo()
|
||||||
+9
-2
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir
|
|||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.analysis.providers.impl.declarationProviders.FileBasedKotlinDeclarationProvider
|
import org.jetbrains.kotlin.analysis.providers.impl.declarationProviders.FileBasedKotlinDeclarationProvider
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
|
||||||
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirScriptTestConfigurator
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
@@ -22,8 +23,6 @@ import kotlin.test.assertContains
|
|||||||
import kotlin.test.assertNotNull
|
import kotlin.test.assertNotNull
|
||||||
|
|
||||||
abstract class AbstractFileBasedKotlinDeclarationProviderTest : AbstractLowLevelApiSingleFileTest() {
|
abstract class AbstractFileBasedKotlinDeclarationProviderTest : AbstractLowLevelApiSingleFileTest() {
|
||||||
override val configurator = AnalysisApiFirSourceTestConfigurator(analyseInDependentSession = false)
|
|
||||||
|
|
||||||
override fun configureTest(builder: TestConfigurationBuilder) {
|
override fun configureTest(builder: TestConfigurationBuilder) {
|
||||||
super.configureTest(builder)
|
super.configureTest(builder)
|
||||||
with(builder) {
|
with(builder) {
|
||||||
@@ -151,4 +150,12 @@ private fun parseCallableId(rawString: String): CallableId {
|
|||||||
rawQualifier.endsWith('/') -> CallableId(FqName(rawQualifier.dropLast(1).replace('/', '.')), callableName)
|
rawQualifier.endsWith('/') -> CallableId(FqName(rawQualifier.dropLast(1).replace('/', '.')), callableName)
|
||||||
else -> CallableId(ClassId.fromString(rawQualifier, false), callableName)
|
else -> CallableId(ClassId.fromString(rawQualifier, false), callableName)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractSourceFileBasedKotlinDeclarationProviderTest : AbstractFileBasedKotlinDeclarationProviderTest() {
|
||||||
|
override val configurator = AnalysisApiFirSourceTestConfigurator(analyseInDependentSession = false)
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractScriptFileBasedKotlinDeclarationProviderTest : AbstractFileBasedKotlinDeclarationProviderTest() {
|
||||||
|
override val configurator get() = AnalysisApiFirScriptTestConfigurator
|
||||||
}
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.analysis.low.level.api.fir;
|
||||||
|
|
||||||
|
import com.intellij.testFramework.TestDataPath;
|
||||||
|
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||||
|
import org.jetbrains.kotlin.test.TestMetadata;
|
||||||
|
import org.junit.jupiter.api.Nested;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
|
||||||
|
@SuppressWarnings("all")
|
||||||
|
@TestMetadata("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class ScriptFileBasedKotlinDeclarationProviderTestGenerated extends AbstractScriptFileBasedKotlinDeclarationProviderTest {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInFileBasedDeclarationProvider() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider"), Pattern.compile("^(.+)\\.(kts)$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("script.kts")
|
||||||
|
public void testScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider/script.kts");
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-8
@@ -18,10 +18,10 @@ import java.util.regex.Pattern;
|
|||||||
@SuppressWarnings("all")
|
@SuppressWarnings("all")
|
||||||
@TestMetadata("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider")
|
@TestMetadata("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
public class FileBasedKotlinDeclarationProviderTestGenerated extends AbstractFileBasedKotlinDeclarationProviderTest {
|
public class SourceFileBasedKotlinDeclarationProviderTestGenerated extends AbstractSourceFileBasedKotlinDeclarationProviderTest {
|
||||||
@Test
|
@Test
|
||||||
public void testAllFilesPresentInFileBasedDeclarationProvider() throws Exception {
|
public void testAllFilesPresentInFileBasedDeclarationProvider() throws Exception {
|
||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider"), Pattern.compile("^(.+)\\.(kt|kts)$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -48,12 +48,6 @@ public class FileBasedKotlinDeclarationProviderTestGenerated extends AbstractFil
|
|||||||
runTest("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider/sameNames.kt");
|
runTest("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider/sameNames.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@TestMetadata("script.kts")
|
|
||||||
public void testScript() throws Exception {
|
|
||||||
runTest("analysis/low-level-api-fir/testdata/fileBasedDeclarationProvider/script.kts");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("simple.kt")
|
@TestMetadata("simple.kt")
|
||||||
public void testSimple() throws Exception {
|
public void testSimple() throws Exception {
|
||||||
+6
-2
@@ -119,8 +119,12 @@ internal fun TestGroupSuite.generateFirLowLevelApiTests() {
|
|||||||
model("getOrBuildFirForStdLib")
|
model("getOrBuildFirForStdLib")
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractFileBasedKotlinDeclarationProviderTest> {
|
testClass<AbstractSourceFileBasedKotlinDeclarationProviderTest> {
|
||||||
model("fileBasedDeclarationProvider", pattern = TestGeneratorUtil.KT_OR_KTS)
|
model("fileBasedDeclarationProvider", pattern = TestGeneratorUtil.KT)
|
||||||
|
}
|
||||||
|
|
||||||
|
testClass<AbstractScriptFileBasedKotlinDeclarationProviderTest> {
|
||||||
|
model("fileBasedDeclarationProvider", pattern = TestGeneratorUtil.KTS)
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractSourceNonLocalDeclarationAnchorTest> {
|
testClass<AbstractSourceNonLocalDeclarationAnchorTest> {
|
||||||
|
|||||||
Reference in New Issue
Block a user