mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[threading] IJPL-246537: Fix waiting for code vision in tests
GitOrigin-RevId: f0f4d5a35e27e45fe6be383ab31ea8b2a2cc838b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a1c67da8ef
commit
25facb735b
+2
-1
@@ -12,6 +12,7 @@ import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.fileTypes.LanguageFileType
|
||||
import com.intellij.refactoring.suggested.BaseSuggestedRefactoringAvailabilityTest
|
||||
import com.intellij.refactoring.suggested.SuggestedRefactoringProviderImpl
|
||||
import com.intellij.testFramework.utils.codeVision.CodeVisionTestCase
|
||||
|
||||
class JavaChangeSignatureInlayProviderTest : BaseSuggestedRefactoringAvailabilityTest() {
|
||||
|
||||
@@ -604,7 +605,7 @@ class JavaChangeSignatureInlayProviderTest : BaseSuggestedRefactoringAvailabilit
|
||||
executeEditingActions(editingActions)
|
||||
myFixture.availableIntentions
|
||||
|
||||
project.service<CodeVisionHost>().calculateCodeVisionSync(editor, testRootDisposable)
|
||||
CodeVisionTestCase.waitForCodeVisionSync(editor, project.service<CodeVisionHost>(), testRootDisposable)
|
||||
|
||||
val actualText = InlayDumpUtil.dumpInlays(
|
||||
file.text,
|
||||
|
||||
+2
-1
@@ -12,6 +12,7 @@ import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.fileTypes.LanguageFileType
|
||||
import com.intellij.refactoring.suggested.BaseSuggestedRefactoringAvailabilityTest
|
||||
import com.intellij.refactoring.suggested.SuggestedRefactoringProviderImpl
|
||||
import com.intellij.testFramework.utils.codeVision.CodeVisionTestCase
|
||||
|
||||
class JavaRenameInlayProviderTest : BaseSuggestedRefactoringAvailabilityTest() {
|
||||
|
||||
@@ -250,7 +251,7 @@ class JavaRenameInlayProviderTest : BaseSuggestedRefactoringAvailabilityTest() {
|
||||
executeEditingActions(editingActions)
|
||||
myFixture.availableIntentions
|
||||
|
||||
project.service<CodeVisionHost>().calculateCodeVisionSync(editor, testRootDisposable)
|
||||
CodeVisionTestCase.waitForCodeVisionSync(editor, project.service<CodeVisionHost>(), testRootDisposable)
|
||||
|
||||
val actualText = InlayDumpUtil.dumpInlays(
|
||||
file.text,
|
||||
|
||||
@@ -23,11 +23,13 @@ import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.PsiDocumentManager
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.testFramework.PlatformTestUtil
|
||||
import com.intellij.testFramework.TestModeFlags
|
||||
import com.intellij.testFramework.fixtures.BasePlatformTestCase.assertEquals
|
||||
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl
|
||||
import com.intellij.testFramework.junit5.fixture.TestFixture
|
||||
import com.intellij.testFramework.junit5.fixture.testFixture
|
||||
import com.intellij.testFramework.utils.codeVision.CodeVisionTestCase
|
||||
import com.intellij.util.ArrayUtilRt
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -76,7 +78,7 @@ class CodeVisionTestFixture(
|
||||
}
|
||||
val newFile = requireNotNull(PsiDocumentManager.getInstance(project).getPsiFile(document, context))
|
||||
doHighlighting(newFile)
|
||||
codeVisionHost.calculateCodeVisionSync(editor, disposable)
|
||||
CodeVisionTestCase.waitForCodeVisionSync(editor, codeVisionHost, disposable)
|
||||
}
|
||||
}
|
||||
assertText(expectedText)
|
||||
|
||||
+11
-1
@@ -7,14 +7,24 @@ import com.intellij.codeInsight.codeVision.settings.CodeVisionSettings
|
||||
import com.intellij.codeInsight.codeVision.ui.model.CodeVisionListData
|
||||
import com.intellij.codeInsight.codeVision.ui.renderers.CodeVisionInlayRenderer
|
||||
import com.intellij.codeInsight.hints.InlayDumpUtil
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.util.registry.Registry
|
||||
import com.intellij.testFramework.PlatformTestUtil
|
||||
import com.intellij.testFramework.TestModeFlags
|
||||
import com.intellij.testFramework.utils.inlays.InlayHintsProviderTestCase
|
||||
import com.intellij.util.ui.EDT
|
||||
|
||||
abstract class CodeVisionTestCase : InlayHintsProviderTestCase() {
|
||||
|
||||
companion object {
|
||||
const val AUTHOR_HINT: String = "John Smith +2"
|
||||
|
||||
@JvmStatic
|
||||
fun waitForCodeVisionSync(editor: Editor, host: CodeVisionHost, disposable: Disposable) {
|
||||
val done = host.calculateCodeVisionSync(editor, disposable)
|
||||
PlatformTestUtil.waitForFuture(done)
|
||||
}
|
||||
}
|
||||
|
||||
protected open val onlyCodeVisionHintsAllowed: Boolean
|
||||
@@ -63,7 +73,7 @@ abstract class CodeVisionTestCase : InlayHintsProviderTestCase() {
|
||||
}
|
||||
myFixture.doHighlighting()
|
||||
|
||||
codeVisionHost.calculateCodeVisionSync(editor, testRootDisposable)
|
||||
waitForCodeVisionSync(editor, codeVisionHost, testRootDisposable)
|
||||
|
||||
val actualText = dumpCodeVisionHints(sourceText)
|
||||
assertEquals(expectedText, actualText)
|
||||
|
||||
Reference in New Issue
Block a user