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_CHAR_PREFIX = "CHAR:"
|
||||||
private val COMPLETION_TYPE_PREFIX = "COMPLETION_TYPE:"
|
private val COMPLETION_TYPE_PREFIX = "COMPLETION_TYPE:"
|
||||||
|
|
||||||
protected fun doTest(testPath: String) {
|
protected open fun doTest(testPath: String) {
|
||||||
setUpFixture(testPath)
|
setUpFixture(testPath)
|
||||||
|
|
||||||
val fileText = FileUtil.loadFile(File(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.psi.JetElement
|
||||||
import org.jetbrains.kotlin.completion.handlers.AbstractCompletionHandlerTest
|
import org.jetbrains.kotlin.completion.handlers.AbstractCompletionHandlerTest
|
||||||
import com.intellij.codeInsight.completion.CompletionType
|
import com.intellij.codeInsight.completion.CompletionType
|
||||||
|
import com.intellij.openapi.util.text.StringUtil
|
||||||
import org.jetbrains.kotlin.resolve.JetModuleUtil
|
import org.jetbrains.kotlin.resolve.JetModuleUtil
|
||||||
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
||||||
import org.jetbrains.kotlin.resolve.BindingTraceContext
|
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.*
|
||||||
import com.intellij.psi.util.PsiModificationTracker
|
import com.intellij.psi.util.PsiModificationTracker
|
||||||
import com.intellij.psi.impl.PsiModificationTrackerImpl
|
import com.intellij.psi.impl.PsiModificationTrackerImpl
|
||||||
|
import org.jetbrains.kotlin.test.JetTestUtils
|
||||||
|
import kotlin.test.fail
|
||||||
|
|
||||||
public abstract class AbstractCodeFragmentHighlightingTest : AbstractJetPsiCheckerTest() {
|
public abstract class AbstractCodeFragmentHighlightingTest : AbstractJetPsiCheckerTest() {
|
||||||
override fun doTest(filePath: String) {
|
override fun doTest(filePath: String) {
|
||||||
@@ -82,6 +85,21 @@ public abstract class AbstractCodeFragmentCompletionHandlerTest : AbstractComple
|
|||||||
override fun setUpFixture(testPath: String) {
|
override fun setUpFixture(testPath: String) {
|
||||||
myFixture.configureByCodeFragment(testPath)
|
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) {
|
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");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/runtimeCast/InsertFunction.kt");
|
||||||
doTest(fileName);
|
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