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