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 isPropertiesFile = FileUtilRt.getExtension(path) == "properties"
val isFindFileUsages = InTextDirectivesUtils.isDirectiveDefined(mainFileText, "## FIND_FILE_USAGES")
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
val caretElementClass = (if (!isPropertiesFile) { val caretElementClass = (if (!isPropertiesFile) {
val caretElementClassNames = InTextDirectivesUtils.findLinesWithPrefixesRemoved(mainFileText, "// PSI_ELEMENT: ") val caretElementClassNames = InTextDirectivesUtils.findLinesWithPrefixesRemoved(mainFileText, "// PSI_ELEMENT: ")
Class.forName(caretElementClassNames.single()) Class.forName(caretElementClassNames.single())
} }
else if (InTextDirectivesUtils.isDirectiveDefined(mainFileText, "## FIND_FILE_USAGES")) { else if (isFindFileUsages) {
PropertiesFile::class.java PropertiesFile::class.java
} }
else { else {
@@ -117,11 +119,16 @@ abstract class AbstractFindUsagesTest : KotlinLightCodeInsightFixtureTestCase()
} }
myFixture.configureByFile(mainFileName) myFixture.configureByFile(mainFileName)
val caretElement = if (InTextDirectivesUtils.isDirectiveDefined(mainFileText, "// FIND_BY_REF")) val caretElement = when {
TargetElementUtil.findTargetElement(myFixture.editor, InTextDirectivesUtils.isDirectiveDefined(mainFileText, "// FIND_BY_REF") -> TargetElementUtil.findTargetElement(
TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED or JavaTargetElementEvaluator.NEW_AS_CONSTRUCTOR)!! myFixture.editor,
else TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED or JavaTargetElementEvaluator.NEW_AS_CONSTRUCTOR
myFixture.elementAtCaret )!!
isFindFileUsages -> myFixture.file
else -> myFixture.elementAtCaret
}
UsefulTestCase.assertInstanceOf(caretElement, caretElementClass) UsefulTestCase.assertInstanceOf(caretElement, caretElementClass)
val containingFile = caretElement.containingFile val containingFile = caretElement.containingFile