From 6b491fa9a47e24727f7ec34cd581b7df5774f351 Mon Sep 17 00:00:00 2001 From: Vyacheslav Tamarin Date: Wed, 7 Dec 2022 15:16:41 +0300 Subject: [PATCH 1/2] Add checking languageAssistant --- .../intellij/plugin/ui/actions/GenerateTestsAction.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt index a8c395b385..b06d0c0598 100644 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt +++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt @@ -10,6 +10,11 @@ class GenerateTestsAction : AnAction() { } override fun update(e: AnActionEvent) { - LanguageAssistant.get(e)?.update(e) + val languageAssistant = LanguageAssistant.get(e) + if (languageAssistant == null) { + e.presentation.isEnabled = false + } else { + languageAssistant.update(e) + } } } \ No newline at end of file From 2d2676be1d511d81f88b721ac1e9a011aa4b62b1 Mon Sep 17 00:00:00 2001 From: Vyacheslav Tamarin Date: Wed, 7 Dec 2022 15:17:02 +0300 Subject: [PATCH 2/2] Add python test generation for file --- .../language/python/PythonLanguageAssistant.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/utbot-intellij-python/src/main/kotlin/org/utbot/intellij/plugin/language/python/PythonLanguageAssistant.kt b/utbot-intellij-python/src/main/kotlin/org/utbot/intellij/plugin/language/python/PythonLanguageAssistant.kt index 8339d80f2d..34e94caa6c 100644 --- a/utbot-intellij-python/src/main/kotlin/org/utbot/intellij/plugin/language/python/PythonLanguageAssistant.kt +++ b/utbot-intellij-python/src/main/kotlin/org/utbot/intellij/plugin/language/python/PythonLanguageAssistant.kt @@ -44,13 +44,18 @@ object PythonLanguageAssistant : LanguageAssistant() { } private fun getPsiTargets(e: AnActionEvent): Targets? { - val editor = e.getData(CommonDataKeys.EDITOR) ?: return null + val editor = e.getData(CommonDataKeys.EDITOR) val file = e.getData(CommonDataKeys.PSI_FILE) as? PyFile ?: return null - val element = findPsiElement(file, editor) ?: return null if (file.module?.sdk?.sdkType !is PythonSdkType) return null + val element = if (editor != null) { + findPsiElement(file, editor) ?: return null + } else { + e.getData(CommonDataKeys.PSI_ELEMENT) ?: return null + } + val containingFunction = getContainingElement(element) val containingClass = getContainingElement(element) @@ -67,7 +72,8 @@ object PythonLanguageAssistant : LanguageAssistant() { if (functions.isEmpty()) return null - val focusedFunction = if (functions.any { it.name == containingFunction?.name }) containingFunction else null + val focusedFunction = + if (functions.any { it.name == containingFunction?.name }) containingFunction else null return Targets(functions.toSet(), containingClass, focusedFunction, file) }