Skip to content

Commit dd5179b

Browse files
authored
Fix disabled action (#1481)
* Add checking languageAssistant * Add python test generation for file Co-authored-by: Vyacheslav Tamarin <vyacheslav.tamarin@yandex.ru>
1 parent 0f11d33 commit dd5179b

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

utbot-intellij-python/src/main/kotlin/org/utbot/intellij/plugin/language/python/PythonLanguageAssistant.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,18 @@ object PythonLanguageAssistant : LanguageAssistant() {
4444
}
4545

4646
private fun getPsiTargets(e: AnActionEvent): Targets? {
47-
val editor = e.getData(CommonDataKeys.EDITOR) ?: return null
47+
val editor = e.getData(CommonDataKeys.EDITOR)
4848
val file = e.getData(CommonDataKeys.PSI_FILE) as? PyFile ?: return null
49-
val element = findPsiElement(file, editor) ?: return null
5049

5150
if (file.module?.sdk?.sdkType !is PythonSdkType)
5251
return null
5352

53+
val element = if (editor != null) {
54+
findPsiElement(file, editor) ?: return null
55+
} else {
56+
e.getData(CommonDataKeys.PSI_ELEMENT) ?: return null
57+
}
58+
5459
val containingFunction = getContainingElement<PyFunction>(element)
5560
val containingClass = getContainingElement<PyClass>(element)
5661

@@ -67,7 +72,8 @@ object PythonLanguageAssistant : LanguageAssistant() {
6772
if (functions.isEmpty())
6873
return null
6974

70-
val focusedFunction = if (functions.any { it.name == containingFunction?.name }) containingFunction else null
75+
val focusedFunction =
76+
if (functions.any { it.name == containingFunction?.name }) containingFunction else null
7177
return Targets(functions.toSet(), containingClass, focusedFunction, file)
7278
}
7379

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ class GenerateTestsAction : AnAction() {
1010
}
1111

1212
override fun update(e: AnActionEvent) {
13-
LanguageAssistant.get(e)?.update(e)
13+
val languageAssistant = LanguageAssistant.get(e)
14+
if (languageAssistant == null) {
15+
e.presentation.isEnabled = false
16+
} else {
17+
languageAssistant.update(e)
18+
}
1419
}
1520
}

0 commit comments

Comments
 (0)