Add test for inserting imports in JetCodeFragment after completion
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
fun main(args: Array<String>) {
|
||||
<caret>val a = 1
|
||||
}
|
||||
|
||||
// ELEMENT: ArrayList
|
||||
// TAIL_TEXT: <E> (java.util)
|
||||
@@ -0,0 +1 @@
|
||||
ArrayList
|
||||
@@ -0,0 +1 @@
|
||||
import java.util.ArrayList
|
||||
@@ -0,0 +1 @@
|
||||
ArrayLis<caret>
|
||||
+1
-1
@@ -30,7 +30,7 @@ public abstract class AbstractCompletionHandlerTest(private val defaultCompletio
|
||||
private val COMPLETION_CHAR_PREFIX = "CHAR:"
|
||||
private val COMPLETION_TYPE_PREFIX = "COMPLETION_TYPE:"
|
||||
|
||||
protected fun doTest(testPath: String) {
|
||||
protected open fun doTest(testPath: String) {
|
||||
setUpFixture(testPath)
|
||||
|
||||
val fileText = FileUtil.loadFile(File(testPath))
|
||||
|
||||
+18
@@ -34,6 +34,7 @@ import org.jetbrains.kotlin.completion.ExpectedCompletionUtils
|
||||
import org.jetbrains.kotlin.psi.JetElement
|
||||
import org.jetbrains.kotlin.completion.handlers.AbstractCompletionHandlerTest
|
||||
import com.intellij.codeInsight.completion.CompletionType
|
||||
import com.intellij.openapi.util.text.StringUtil
|
||||
import org.jetbrains.kotlin.resolve.JetModuleUtil
|
||||
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
||||
import org.jetbrains.kotlin.resolve.BindingTraceContext
|
||||
@@ -42,6 +43,8 @@ import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.util.PsiModificationTracker
|
||||
import com.intellij.psi.impl.PsiModificationTrackerImpl
|
||||
import org.jetbrains.kotlin.test.JetTestUtils
|
||||
import kotlin.test.fail
|
||||
|
||||
public abstract class AbstractCodeFragmentHighlightingTest : AbstractJetPsiCheckerTest() {
|
||||
override fun doTest(filePath: String) {
|
||||
@@ -82,6 +85,21 @@ public abstract class AbstractCodeFragmentCompletionHandlerTest : AbstractComple
|
||||
override fun setUpFixture(testPath: String) {
|
||||
myFixture.configureByCodeFragment(testPath)
|
||||
}
|
||||
|
||||
override fun doTest(testPath: String) {
|
||||
super.doTest(testPath)
|
||||
val fragment = myFixture.getFile() as JetCodeFragment
|
||||
|
||||
val importList = fragment.getImportList()
|
||||
val fragmentAfterFile = File(testPath + ".after.imports")
|
||||
|
||||
if (importList != null && fragmentAfterFile.exists()) {
|
||||
JetTestUtils.assertEqualsToFile(fragmentAfterFile, StringUtil.convertLineSeparators(importList.getText()))
|
||||
}
|
||||
else if (fragmentAfterFile.exists()) {
|
||||
fail("ImportList is empty")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun JavaCodeInsightTestFixture.configureByCodeFragment(filePath: String) {
|
||||
|
||||
+6
@@ -53,4 +53,10 @@ public class CodeFragmentCompletionHandlerTestGenerated extends AbstractCodeFrag
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/runtimeCast/InsertFunction.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("InsertImport.kt")
|
||||
public void testInsertImport() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/runtimeCast/InsertImport.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user