Add dispatchAllInvocationEvents to editor actions in perf tests
This commit is contained in:
+3
-2
@@ -9,13 +9,13 @@ import com.intellij.ide.highlighter.JavaFileType
|
||||
import com.intellij.openapi.actionSystem.IdeActions
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.psi.PsiDocumentManager
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.configuration.ExperimentalFeatures
|
||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractJavaToKotlinCopyPasteConversionTest
|
||||
import org.jetbrains.kotlin.idea.conversion.copy.ConvertJavaCopyPasteProcessor
|
||||
import org.jetbrains.kotlin.idea.perf.Stats.Companion.WARM_UP
|
||||
import org.jetbrains.kotlin.idea.testFramework.commitAllDocuments
|
||||
import org.jetbrains.kotlin.idea.testFramework.dispatchAllInvocationEvents
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import java.io.File
|
||||
@@ -61,6 +61,7 @@ abstract class AbstractPerformanceJavaToKotlinCopyPasteConversionTest(private va
|
||||
}
|
||||
test {
|
||||
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
|
||||
dispatchAllInvocationEvents()
|
||||
}
|
||||
tearDown {
|
||||
val document = myFixture.getDocument(myFixture.file)
|
||||
@@ -119,7 +120,7 @@ abstract class AbstractPerformanceJavaToKotlinCopyPasteConversionTest(private va
|
||||
|
||||
private fun perfTestCore() {
|
||||
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
|
||||
UIUtil.dispatchAllInvocationEvents()
|
||||
dispatchAllInvocationEvents()
|
||||
}
|
||||
|
||||
private fun stats() = stats[j2kIndex()]
|
||||
|
||||
+5
@@ -12,6 +12,7 @@ import com.intellij.psi.PsiFile
|
||||
import org.jetbrains.kotlin.idea.AbstractCopyPasteTest
|
||||
import org.jetbrains.kotlin.idea.perf.Stats.Companion.WARM_UP
|
||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
||||
import org.jetbrains.kotlin.idea.testFramework.dispatchAllInvocationEvents
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import java.io.File
|
||||
|
||||
@@ -64,6 +65,8 @@ abstract class AbstractPerformanceLiteralKotlinToKotlinCopyPasteTest : AbstractC
|
||||
|
||||
fileEditorManager.setSelectedEditor(it.setUpValue!!.second.virtualFile, "")
|
||||
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
|
||||
|
||||
dispatchAllInvocationEvents()
|
||||
}
|
||||
tearDown {
|
||||
assertEquals("private val value: String? = n", it.setUpValue!!.second.text)
|
||||
@@ -98,6 +101,8 @@ abstract class AbstractPerformanceLiteralKotlinToKotlinCopyPasteTest : AbstractC
|
||||
|
||||
fileEditorManager.setSelectedEditor(it.setUpValue!![1].virtualFile, "")
|
||||
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
|
||||
|
||||
dispatchAllInvocationEvents()
|
||||
}
|
||||
tearDown {
|
||||
KotlinTestUtils.assertEqualsToFile(expectedPath, it.setUpValue!![1].text)
|
||||
|
||||
+2
@@ -524,6 +524,8 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
||||
val fixture2 = setUpValue.first[1]
|
||||
it.value = fixture1.performEditorAction(IdeActions.ACTION_COPY) &&
|
||||
fixture2.performEditorAction(IdeActions.ACTION_PASTE)
|
||||
|
||||
dispatchAllInvocationEvents()
|
||||
}
|
||||
}
|
||||
tearDown {
|
||||
|
||||
+5
-1
@@ -7,10 +7,13 @@ package org.jetbrains.kotlin.idea.perf
|
||||
|
||||
import com.intellij.application.options.CodeStyle
|
||||
import com.intellij.openapi.actionSystem.IdeActions
|
||||
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.testFramework.EditorTestUtil
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import org.jetbrains.kotlin.formatter.FormatSettingsUtil
|
||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
||||
import org.jetbrains.kotlin.idea.testFramework.dispatchAllInvocationEvents
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import java.io.File
|
||||
|
||||
@@ -42,7 +45,6 @@ abstract class AbstractPerformanceTypingIndentationTest : KotlinLightCodeInsight
|
||||
performanceTest<Unit, Unit> {
|
||||
name(testName)
|
||||
stats(stats)
|
||||
checkStability(false) // [VD] TODO: seems it could be some leakages here
|
||||
warmUpIterations(20)
|
||||
iterations(30)
|
||||
setUp {
|
||||
@@ -50,8 +52,10 @@ abstract class AbstractPerformanceTypingIndentationTest : KotlinLightCodeInsight
|
||||
}
|
||||
test {
|
||||
myFixture.performEditorAction(IdeActions.ACTION_EDITOR_ENTER)
|
||||
dispatchAllInvocationEvents()
|
||||
}
|
||||
tearDown {
|
||||
|
||||
val actualTextWithCaret = StringBuilder(editor.document.text).insert(
|
||||
editor.caretModel.offset,
|
||||
EditorTestUtil.CARET_TAG
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.intellij.lang.LanguageAnnotators
|
||||
import com.intellij.lang.LanguageExtensionPoint
|
||||
import com.intellij.lang.annotation.Annotator
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl
|
||||
import com.intellij.openapi.editor.Document
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager
|
||||
@@ -66,6 +67,7 @@ fun enableHints(enable: Boolean) =
|
||||
fun dispatchAllInvocationEvents() {
|
||||
runInEdtAndWait {
|
||||
UIUtil.dispatchAllInvocationEvents()
|
||||
NonBlockingReadActionImpl.waitForAsyncTaskCompletion();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -14,6 +14,7 @@ import com.intellij.lang.LanguageAnnotators
|
||||
import com.intellij.lang.LanguageExtensionPoint
|
||||
import com.intellij.lang.annotation.Annotator
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl
|
||||
import com.intellij.openapi.editor.Document
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager
|
||||
@@ -68,6 +69,7 @@ fun enableHints(enable: Boolean) =
|
||||
fun dispatchAllInvocationEvents() {
|
||||
runInEdtAndWait {
|
||||
UIUtil.dispatchAllInvocationEvents()
|
||||
NonBlockingReadActionImpl.waitForAsyncTaskCompletion();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user