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)
|
model("basic/multifile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||||
|
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||||
|
}
|
||||||
|
|
||||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||||
model("smartMultiFile", extension = null, recursive = false)
|
model("smartMultiFile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1099,6 +1099,10 @@ fun main(args: Array<String>) {
|
|||||||
model("basic/multifile", extension = null, recursive = false)
|
model("basic/multifile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||||
|
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||||
|
}
|
||||||
|
|
||||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||||
model("smartMultiFile", extension = null, recursive = false)
|
model("smartMultiFile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -966,6 +966,10 @@ fun main(args: Array<String>) {
|
|||||||
model("basic/multifile", extension = null, recursive = false)
|
model("basic/multifile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||||
|
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||||
|
}
|
||||||
|
|
||||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||||
model("smartMultiFile", extension = null, recursive = false)
|
model("smartMultiFile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1002,6 +1002,10 @@ fun main(args: Array<String>) {
|
|||||||
model("basic/multifile", extension = null, recursive = false)
|
model("basic/multifile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||||
|
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||||
|
}
|
||||||
|
|
||||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||||
model("smartMultiFile", extension = null, recursive = false)
|
model("smartMultiFile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1002,6 +1002,10 @@ fun main(args: Array<String>) {
|
|||||||
model("basic/multifile", extension = null, recursive = false)
|
model("basic/multifile", extension = null, recursive = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
testClass<AbstractMultiFileJvmBasicCompletionTest>("MultiFilePrimitiveJvmBasicCompletionTestGenerated") {
|
||||||
|
model("basic/multifilePrimitive", extension = null, recursive = false)
|
||||||
|
}
|
||||||
|
|
||||||
testClass<AbstractMultiFileSmartCompletionTest> {
|
testClass<AbstractMultiFileSmartCompletionTest> {
|
||||||
model("smartMultiFile", extension = null, recursive = false)
|
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 com.intellij.codeInsight.completion.CompletionType
|
||||||
import org.jetbrains.kotlin.idea.test.AstAccessControl
|
import org.jetbrains.kotlin.idea.test.AstAccessControl
|
||||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||||
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
|
|
||||||
abstract class AbstractMultiFileJvmBasicCompletionTest : KotlinCompletionTestCase() {
|
abstract class AbstractMultiFileJvmBasicCompletionTest : KotlinCompletionTestCase() {
|
||||||
protected fun doTest(testPath: String) {
|
protected fun doTest(testPath: String) {
|
||||||
@@ -23,6 +24,6 @@ abstract class AbstractMultiFileJvmBasicCompletionTest : KotlinCompletionTestCas
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun getTestDataPath(): String {
|
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