mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
[vue] WEB-73909 Migrate VueCompletionTest to WebFrameworkTestCase - part 2
(cherry picked from commit 41faf3962da97fce4c924abd08774c350d6834b3) IJ-CR-168451 GitOrigin-RevId: 5f8f41cb5bc97d1bca8513be506e8a7beed8eb7a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e812c7d44b
commit
7f2c122022
@@ -31,6 +31,13 @@ import com.intellij.openapi.util.io.FileUtil
|
|||||||
import com.intellij.openapi.util.registry.Registry
|
import com.intellij.openapi.util.registry.Registry
|
||||||
import com.intellij.platform.backend.documentation.impl.computeDocumentationBlocking
|
import com.intellij.platform.backend.documentation.impl.computeDocumentationBlocking
|
||||||
import com.intellij.platform.testFramework.core.FileComparisonFailedError
|
import com.intellij.platform.testFramework.core.FileComparisonFailedError
|
||||||
|
import com.intellij.polySymbols.PolySymbol
|
||||||
|
import com.intellij.polySymbols.declarations.PolySymbolDeclaration
|
||||||
|
import com.intellij.polySymbols.declarations.PolySymbolDeclarationProvider
|
||||||
|
import com.intellij.polySymbols.impl.canUnwrapSymbols
|
||||||
|
import com.intellij.polySymbols.query.PolySymbolMatch
|
||||||
|
import com.intellij.polySymbols.query.PolySymbolQueryExecutorFactory
|
||||||
|
import com.intellij.polySymbols.search.PsiSourcedPolySymbol
|
||||||
import com.intellij.psi.PsiDocumentManager
|
import com.intellij.psi.PsiDocumentManager
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
@@ -53,13 +60,6 @@ import com.intellij.usages.Usage
|
|||||||
import com.intellij.util.ObjectUtils.coalesce
|
import com.intellij.util.ObjectUtils.coalesce
|
||||||
import com.intellij.util.concurrency.AppExecutorUtil
|
import com.intellij.util.concurrency.AppExecutorUtil
|
||||||
import com.intellij.util.concurrency.annotations.RequiresEdt
|
import com.intellij.util.concurrency.annotations.RequiresEdt
|
||||||
import com.intellij.polySymbols.search.PsiSourcedPolySymbol
|
|
||||||
import com.intellij.polySymbols.PolySymbol
|
|
||||||
import com.intellij.polySymbols.declarations.PolySymbolDeclaration
|
|
||||||
import com.intellij.polySymbols.declarations.PolySymbolDeclarationProvider
|
|
||||||
import com.intellij.polySymbols.impl.canUnwrapSymbols
|
|
||||||
import com.intellij.polySymbols.query.PolySymbolMatch
|
|
||||||
import com.intellij.polySymbols.query.PolySymbolQueryExecutorFactory
|
|
||||||
import junit.framework.TestCase.*
|
import junit.framework.TestCase.*
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -104,6 +104,7 @@ fun CodeInsightTestFixture.checkLookupItems(
|
|||||||
checkDocumentation: Boolean = false,
|
checkDocumentation: Boolean = false,
|
||||||
containsCheck: Boolean = false,
|
containsCheck: Boolean = false,
|
||||||
locations: List<String> = emptyList(),
|
locations: List<String> = emptyList(),
|
||||||
|
namedLocations: List<Pair<String, String>> = emptyList(),
|
||||||
fileName: String = InjectedLanguageManager.getInstance(project).getTopLevelFile(file).virtualFile.nameWithoutExtension,
|
fileName: String = InjectedLanguageManager.getInstance(project).getTopLevelFile(file).virtualFile.nameWithoutExtension,
|
||||||
expectedDataLocation: String = "",
|
expectedDataLocation: String = "",
|
||||||
lookupItemFilter: (item: LookupElementInfo) -> Boolean = { true },
|
lookupItemFilter: (item: LookupElementInfo) -> Boolean = { true },
|
||||||
@@ -117,9 +118,14 @@ fun CodeInsightTestFixture.checkLookupItems(
|
|||||||
for (lookupString in lookupsToCheck) {
|
for (lookupString in lookupsToCheck) {
|
||||||
val lookupElement = lookupElements[lookupString]
|
val lookupElement = lookupElements[lookupString]
|
||||||
assertNotNull("Missing lookup string: $lookupString", lookupElement)
|
assertNotNull("Missing lookup string: $lookupString", lookupElement)
|
||||||
val targets = PlatformTestUtil.callOnBgtSynchronously({ ProgressManager.getInstance().runProcess(Computable { runReadAction {
|
val targets = PlatformTestUtil.callOnBgtSynchronously(
|
||||||
|
{
|
||||||
|
ProgressManager.getInstance().runProcess(Computable {
|
||||||
|
runReadAction {
|
||||||
IdeDocumentationTargetProvider.getInstance(project).documentationTargets(editor, file, lookupElement!!)
|
IdeDocumentationTargetProvider.getInstance(project).documentationTargets(editor, file, lookupElement!!)
|
||||||
} }, EmptyProgressIndicator()) }, 10)!!
|
}
|
||||||
|
}, EmptyProgressIndicator())
|
||||||
|
}, 10)!!
|
||||||
val doc = targets.firstOrNull()?.let { computeDocumentationBlocking(it.createPointer()) }?.html?.trim()
|
val doc = targets.firstOrNull()?.let { computeDocumentationBlocking(it.createPointer()) }?.html?.trim()
|
||||||
|
|
||||||
val sanitizedLookupString = lookupString.replace(Regex("[*\"?<>/\\[\\]:;|,#]"), "_")
|
val sanitizedLookupString = lookupString.replace(Regex("[*\"?<>/\\[\\]:;|,#]"), "_")
|
||||||
@@ -128,7 +134,7 @@ fun CodeInsightTestFixture.checkLookupItems(
|
|||||||
}
|
}
|
||||||
|
|
||||||
noAutoComplete {
|
noAutoComplete {
|
||||||
if (locations.isEmpty()) {
|
if (locations.isEmpty() && namedLocations.isEmpty()) {
|
||||||
completeBasic()
|
completeBasic()
|
||||||
checkListByFile(
|
checkListByFile(
|
||||||
renderLookupItems(renderPriority, renderTypeText, renderTailText, renderProximity, renderDisplayText, renderDisplayEffects,
|
renderLookupItems(renderPriority, renderTypeText, renderTailText, renderProximity, renderDisplayText, renderDisplayEffects,
|
||||||
@@ -139,14 +145,17 @@ fun CodeInsightTestFixture.checkLookupItems(
|
|||||||
checkLookupDocumentation()
|
checkLookupDocumentation()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
locations.forEachIndexed { index, location ->
|
locations.withIndex()
|
||||||
|
.map { (index, value) -> (index + 1).toString() to value }
|
||||||
|
.plus(namedLocations)
|
||||||
|
.forEach { (index, location) ->
|
||||||
moveToOffsetBySignature(location)
|
moveToOffsetBySignature(location)
|
||||||
completeBasic()
|
completeBasic()
|
||||||
try {
|
try {
|
||||||
checkListByFile(
|
checkListByFile(
|
||||||
renderLookupItems(renderPriority, renderTypeText, renderTailText, renderProximity, renderDisplayText, renderDisplayEffects,
|
renderLookupItems(renderPriority, renderTypeText, renderTailText, renderProximity, renderDisplayText, renderDisplayEffects,
|
||||||
lookupItemFilter),
|
lookupItemFilter),
|
||||||
expectedDataLocation + (if (hasDir) "/items" else "$fileName.items") + ".${index + 1}.txt",
|
expectedDataLocation + (if (hasDir) "/items" else "$fileName.items") + ".$index.txt",
|
||||||
containsCheck
|
containsCheck
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -155,7 +164,7 @@ fun CodeInsightTestFixture.checkLookupItems(
|
|||||||
e.expectedStringPresentation, e.actualStringPresentation,
|
e.expectedStringPresentation, e.actualStringPresentation,
|
||||||
e.filePath, e.actualFilePath)
|
e.filePath, e.actualFilePath)
|
||||||
}
|
}
|
||||||
checkLookupDocumentation(".${index + 1}")
|
checkLookupDocumentation(".$index")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -260,9 +269,14 @@ private fun CodeInsightTestFixture.checkDocumentation(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun CodeInsightTestFixture.renderDocAtCaret(): String? {
|
private fun CodeInsightTestFixture.renderDocAtCaret(): String? {
|
||||||
val targets = PlatformTestUtil.callOnBgtSynchronously({ ProgressManager.getInstance().runProcess(Computable { runReadAction {
|
val targets = PlatformTestUtil.callOnBgtSynchronously(
|
||||||
|
{
|
||||||
|
ProgressManager.getInstance().runProcess(Computable {
|
||||||
|
runReadAction {
|
||||||
IdeDocumentationTargetProvider.getInstance(project).documentationTargets(editor, file, caretOffset)
|
IdeDocumentationTargetProvider.getInstance(project).documentationTargets(editor, file, caretOffset)
|
||||||
} }, EmptyProgressIndicator()) }, 10)!!
|
}
|
||||||
|
}, EmptyProgressIndicator())
|
||||||
|
}, 10)!!
|
||||||
|
|
||||||
return targets.mapNotNull { computeDocumentationBlocking(it.createPointer())?.html }
|
return targets.mapNotNull { computeDocumentationBlocking(it.createPointer())?.html }
|
||||||
.also { assertTrue("More then one documentation rendered:\n\n${it.joinToString("\n\n")}", it.size <= 1) }
|
.also { assertTrue("More then one documentation rendered:\n\n${it.joinToString("\n\n")}", it.size <= 1) }
|
||||||
|
|||||||
Reference in New Issue
Block a user