Add multi-file tests for primitive completion
- This is required to test/debug correct completion from imports
This commit is contained in:
committed by
Ilya Kirillov
parent
1b3a1a662f
commit
ebf20c9706
@@ -1185,6 +1185,10 @@ fun main(args: Array<String>) {
|
||||
model("basic/multifile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||
model("smartMultiFile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
@@ -1099,6 +1099,10 @@ fun main(args: Array<String>) {
|
||||
model("basic/multifile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||
model("smartMultiFile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
@@ -966,6 +966,10 @@ fun main(args: Array<String>) {
|
||||
model("basic/multifile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||
model("smartMultiFile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
@@ -1002,6 +1002,10 @@ fun main(args: Array<String>) {
|
||||
model("basic/multifile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||
model("smartMultiFile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
@@ -1002,6 +1002,10 @@ fun main(args: Array<String>) {
|
||||
model("basic/multifile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||
model("smartMultiFile", extension = null, recursive = false)
|
||||
}
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package dependency
|
||||
|
||||
class TopLevelClass {
|
||||
class NestedClass
|
||||
|
||||
inner class InnerClass
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
import dependency.TopLevelClass.*
|
||||
|
||||
fun usage() {
|
||||
<caret>
|
||||
}
|
||||
|
||||
// EXIST: NestedClass
|
||||
// EXIST: InnerClass
|
||||
+2
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.completion.test
|
||||
import com.intellij.codeInsight.completion.CompletionType
|
||||
import org.jetbrains.kotlin.idea.test.AstAccessControl
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
|
||||
abstract class AbstractMultiFileJvmBasicCompletionTest : KotlinCompletionTestCase() {
|
||||
protected fun doTest(testPath: String) {
|
||||
@@ -23,6 +24,6 @@ abstract class AbstractMultiFileJvmBasicCompletionTest : KotlinCompletionTestCas
|
||||
}
|
||||
|
||||
override fun getTestDataPath(): String {
|
||||
return COMPLETION_TEST_DATA_BASE_PATH + "/basic/multifile/" + getTestName(false) + "/"
|
||||
return KotlinTestUtils.getTestsRoot(this::class.java) + "/" + getTestName(false) + "/"
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright 2010-2020 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.idea.completion.test;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("idea/idea-completion/testData/basic/multifilePrimitive")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public class MultiFilePrimitiveJvmBasicCompletionTestGenerated extends AbstractMultiFileJvmBasicCompletionTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInMultifilePrimitive() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-completion/testData/basic/multifilePrimitive"), Pattern.compile("^([^\\.]+)$"), null, false);
|
||||
}
|
||||
|
||||
@TestMetadata("NestedClassImport")
|
||||
public void testNestedClassImport() throws Exception {
|
||||
runTest("idea/idea-completion/testData/basic/multifilePrimitive/NestedClassImport/");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user