Don't call elementAtCaret for file usage test (fix for 181)

Fix testPropertyFileUsages test in 181.

Starting from 181, call `elementAtCaret` with zero offset returns
null element, when file starts with comment. Test fails because
of that.

https://github.com/JetBrains/intellij-community/commit/fdebc4084b9067ec19933d45a1ef2e04861206c3
This commit is contained in:
Nikolay Krasko
2018-04-20 18:53:50 +03:00
parent ffca06d8a8
commit d085f3e474
@@ -80,12 +80,14 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase()
val isPropertiesFile = FileUtilRt.getExtension(path) == "properties"
val isFindFileUsages = InTextDirectivesUtils.isDirectiveDefined(mainFileText, "## FIND_FILE_USAGES")
@Suppress("UNCHECKED_CAST")
val caretElementClass = (if (!isPropertiesFile) {
val caretElementClassNames = InTextDirectivesUtils.findLinesWithPrefixesRemoved(mainFileText, "// PSI_ELEMENT: ")
Class.forName(caretElementClassNames.single())
}
else if (InTextDirectivesUtils.isDirectiveDefined(mainFileText, "## FIND_FILE_USAGES")) {
else if (isFindFileUsages) {
PropertiesFile::class.java
}
else {
@@ -117,11 +119,16 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase()
}
myFixture.configureByFile(mainFileName)
val caretElement = if (InTextDirectivesUtils.isDirectiveDefined(mainFileText, "// FIND_BY_REF"))
TargetElementUtil.findTargetElement(myFixture.editor,
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED or JavaTargetElementEvaluator.NEW_AS_CONSTRUCTOR)!!
else
myFixture.elementAtCaret
val caretElement = when {
InTextDirectivesUtils.isDirectiveDefined(mainFileText, "// FIND_BY_REF") -> TargetElementUtil.findTargetElement(
myFixture.editor,
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED or JavaTargetElementEvaluator.NEW_AS_CONSTRUCTOR
)!!
isFindFileUsages -> myFixture.file
else -> myFixture.elementAtCaret
}
UsefulTestCase.assertInstanceOf(caretElement, caretElementClass)
val containingFile = caretElement.containingFile