FIR IDE: highlight file before completion in perf test
This commit is contained in:
+25
-8
@@ -238,15 +238,24 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
|||||||
fileName: String,
|
fileName: String,
|
||||||
marker: String,
|
marker: String,
|
||||||
insertString: String,
|
insertString: String,
|
||||||
|
highlightFileBeforeStartTyping: Boolean = false,
|
||||||
surroundItems: String = "\n",
|
surroundItems: String = "\n",
|
||||||
lookupElements: List<String>,
|
lookupElements: List<String>,
|
||||||
typeAfterMarker: Boolean = true,
|
typeAfterMarker: Boolean = true,
|
||||||
revertChangesAtTheEnd: Boolean = true,
|
revertChangesAtTheEnd: Boolean = true,
|
||||||
note: String = ""
|
note: String = ""
|
||||||
) = perfTypeAndAutocomplete(
|
) = perfTypeAndAutocomplete(
|
||||||
project(), stats, fileName, marker, insertString, surroundItems,
|
project = project(),
|
||||||
lookupElements = lookupElements, typeAfterMarker = typeAfterMarker,
|
stats = stats,
|
||||||
revertChangesAtTheEnd = revertChangesAtTheEnd, note = note
|
fileName = fileName,
|
||||||
|
marker = marker,
|
||||||
|
insertString = insertString,
|
||||||
|
highlightFileBeforeStartTyping = highlightFileBeforeStartTyping,
|
||||||
|
surroundItems = surroundItems,
|
||||||
|
lookupElements = lookupElements,
|
||||||
|
typeAfterMarker = typeAfterMarker,
|
||||||
|
revertChangesAtTheEnd = revertChangesAtTheEnd,
|
||||||
|
note = note
|
||||||
)
|
)
|
||||||
|
|
||||||
fun perfTypeAndAutocomplete(
|
fun perfTypeAndAutocomplete(
|
||||||
@@ -255,6 +264,7 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
|||||||
fileName: String,
|
fileName: String,
|
||||||
marker: String,
|
marker: String,
|
||||||
insertString: String,
|
insertString: String,
|
||||||
|
highlightFileBeforeStartTyping: Boolean = false,
|
||||||
surroundItems: String = "\n",
|
surroundItems: String = "\n",
|
||||||
lookupElements: List<String>,
|
lookupElements: List<String>,
|
||||||
typeAfterMarker: Boolean = true,
|
typeAfterMarker: Boolean = true,
|
||||||
@@ -272,7 +282,12 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
|||||||
typeAfterMarker,
|
typeAfterMarker,
|
||||||
surroundItems,
|
surroundItems,
|
||||||
insertString,
|
insertString,
|
||||||
setupBlock = {},
|
setupBeforeTypingBlock = { fixture ->
|
||||||
|
if (highlightFileBeforeStartTyping) {
|
||||||
|
fixture.doHighlighting()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setupAfterTypingBlock = {},
|
||||||
testBlock = { fixture: Fixture ->
|
testBlock = { fixture: Fixture ->
|
||||||
fixture.complete()
|
fixture.complete()
|
||||||
},
|
},
|
||||||
@@ -308,7 +323,8 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
|||||||
typeAfterMarker,
|
typeAfterMarker,
|
||||||
surroundItems,
|
surroundItems,
|
||||||
insertString,
|
insertString,
|
||||||
setupBlock = { fixture: Fixture ->
|
setupBeforeTypingBlock = {},
|
||||||
|
setupAfterTypingBlock = { fixture: Fixture ->
|
||||||
fileText = fixture.document.text
|
fileText = fixture.document.text
|
||||||
},
|
},
|
||||||
testBlock = { fixture: Fixture ->
|
testBlock = { fixture: Fixture ->
|
||||||
@@ -333,7 +349,8 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
|||||||
typeAfterMarker: Boolean,
|
typeAfterMarker: Boolean,
|
||||||
surroundItems: String,
|
surroundItems: String,
|
||||||
insertString: String,
|
insertString: String,
|
||||||
setupBlock: (Fixture) -> Unit,
|
setupBeforeTypingBlock: (Fixture) -> Unit,
|
||||||
|
setupAfterTypingBlock: (Fixture) -> Unit,
|
||||||
testBlock: (Fixture) -> V,
|
testBlock: (Fixture) -> V,
|
||||||
tearDownCheck: (Fixture, V?) -> Unit,
|
tearDownCheck: (Fixture, V?) -> Unit,
|
||||||
revertChangesAtTheEnd: Boolean
|
revertChangesAtTheEnd: Boolean
|
||||||
@@ -371,9 +388,9 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
|||||||
}
|
}
|
||||||
editor.caretModel.moveToOffset(editor.caretModel.offset - 2)
|
editor.caretModel.moveToOffset(editor.caretModel.offset - 2)
|
||||||
}
|
}
|
||||||
|
setupBeforeTypingBlock(fixture)
|
||||||
fixture.type(insertString)
|
fixture.type(insertString)
|
||||||
setupBlock(fixture)
|
setupAfterTypingBlock(fixture)
|
||||||
}
|
}
|
||||||
test {
|
test {
|
||||||
it.value = testBlock(fixture)
|
it.value = testBlock(fixture)
|
||||||
|
|||||||
+3
@@ -48,6 +48,7 @@ abstract class AbstractWholeProjectPerformanceComparisonTest : AbstractPerforman
|
|||||||
fileName = FILE_NAMES.REGEXP_FILE_LINK_FILTER,
|
fileName = FILE_NAMES.REGEXP_FILE_LINK_FILTER,
|
||||||
marker = "fun applyFilter(line: String, entireLength: Int): Filter.Result? {",
|
marker = "fun applyFilter(line: String, entireLength: Int): Filter.Result? {",
|
||||||
insertString = "val a = l",
|
insertString = "val a = l",
|
||||||
|
highlightFileBeforeStartTyping = true,
|
||||||
lookupElements = listOf("line"),
|
lookupElements = listOf("line"),
|
||||||
note = "in-method completion"
|
note = "in-method completion"
|
||||||
)
|
)
|
||||||
@@ -57,6 +58,7 @@ abstract class AbstractWholeProjectPerformanceComparisonTest : AbstractPerforman
|
|||||||
fileName = FILE_NAMES.NAME_RESOLUTION,
|
fileName = FILE_NAMES.NAME_RESOLUTION,
|
||||||
marker = "private data class ImplicitStdlibCrate(val name: String, val crateRoot: RsFile)",
|
marker = "private data class ImplicitStdlibCrate(val name: String, val crateRoot: RsFile)",
|
||||||
insertString = "\nval a = ",
|
insertString = "\nval a = ",
|
||||||
|
highlightFileBeforeStartTyping = true,
|
||||||
lookupElements = listOf("processAssocTypeVariants"),
|
lookupElements = listOf("processAssocTypeVariants"),
|
||||||
note = "top-level completion"
|
note = "top-level completion"
|
||||||
)
|
)
|
||||||
@@ -65,6 +67,7 @@ abstract class AbstractWholeProjectPerformanceComparisonTest : AbstractPerforman
|
|||||||
stat,
|
stat,
|
||||||
fileName = FILE_NAMES.NAME_RESOLUTION,
|
fileName = FILE_NAMES.NAME_RESOLUTION,
|
||||||
marker = "testAssert { cameFrom.context == scope }",
|
marker = "testAssert { cameFrom.context == scope }",
|
||||||
|
highlightFileBeforeStartTyping = true,
|
||||||
insertString = "\nval a = s",
|
insertString = "\nval a = s",
|
||||||
lookupElements = listOf("scope"),
|
lookupElements = listOf("scope"),
|
||||||
note = "in big method in big file completion"
|
note = "in big method in big file completion"
|
||||||
|
|||||||
Reference in New Issue
Block a user