From 978aba1166755d8e7673453f520b09bec3837b25 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Fri, 26 Nov 2010 14:57:43 +0300 Subject: [PATCH] fixed (PY-2375) Doctest run configuration is suggested for non-Python files --- .../PyConvertLambdaToFunctionIntention.java | 11 +++++------ .../doctest/PythonDocTestConfigurationProducer.java | 10 ++++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/python/src/com/jetbrains/python/codeInsight/intentions/PyConvertLambdaToFunctionIntention.java b/python/src/com/jetbrains/python/codeInsight/intentions/PyConvertLambdaToFunctionIntention.java index ce0726cd99fd..0ab22729a568 100644 --- a/python/src/com/jetbrains/python/codeInsight/intentions/PyConvertLambdaToFunctionIntention.java +++ b/python/src/com/jetbrains/python/codeInsight/intentions/PyConvertLambdaToFunctionIntention.java @@ -42,7 +42,7 @@ public class PyConvertLambdaToFunctionIntention extends BaseIntentionAction { PyLambdaExpression lambdaExpression = PsiTreeUtil.getParentOfType(file.findElementAt(editor.getCaretModel().getOffset()), PyLambdaExpression.class); PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project); if (lambdaExpression != null) { - String name; + String name = "function"; PsiElement parent = lambdaExpression.getParent(); if (parent instanceof PyAssignmentStatement) { name = ((PyAssignmentStatement)parent).getLeftHandSideExpression().getText(); @@ -57,8 +57,6 @@ public class PyConvertLambdaToFunctionIntention extends BaseIntentionAction { name = dialog.getAlias(); if (name.isEmpty()) return; } - else - name = "function"; } PyExpression body = lambdaExpression.getBody(); @@ -80,9 +78,10 @@ public class PyConvertLambdaToFunctionIntention extends BaseIntentionAction { PyFunction function = elementGenerator.createFromText(LanguageLevel.forElement(lambdaExpression), PyFunction.class, stringBuilder.toString()); - PyFunction pyFunction = PsiTreeUtil.getParentOfType(lambdaExpression, PyFunction.class); - if (pyFunction != null) { - pyFunction.getStatementList().addBefore(function, pyFunction.getStatementList().getStatements()[0]); + PyFunction parentFunction = PsiTreeUtil.getParentOfType(lambdaExpression, PyFunction.class); + if (parentFunction != null) { + PyStatementList statements = parentFunction.getStatementList(); + statements.addBefore(function, statements.getStatements()[0]); } else { PyStatement statement = PsiTreeUtil.getParentOfType(lambdaExpression, PyStatement.class); diff --git a/python/src/com/jetbrains/python/testing/doctest/PythonDocTestConfigurationProducer.java b/python/src/com/jetbrains/python/testing/doctest/PythonDocTestConfigurationProducer.java index 7f46db5bb7c9..5e92e29df616 100644 --- a/python/src/com/jetbrains/python/testing/doctest/PythonDocTestConfigurationProducer.java +++ b/python/src/com/jetbrains/python/testing/doctest/PythonDocTestConfigurationProducer.java @@ -156,13 +156,11 @@ public class PythonDocTestConfigurationProducer extends RuntimeConfigurationProd @Nullable private RunnerAndConfigurationSettings createConfigurationFromFile(Location location, PsiElement element) { PsiElement file = element.getContainingFile(); - if (file == null) return null; + if (file == null || !(file instanceof PyFile)) return null; - if (file instanceof PyFile) { - final PyFile pyFile = (PyFile)file; - final List testCases = PythonDocTestUtil.getDocTestCasesFromFile(pyFile); - if (testCases.isEmpty()) return null; - } + final PyFile pyFile = (PyFile)file; + final List testCases = PythonDocTestUtil.getDocTestCasesFromFile(pyFile); + if (testCases.isEmpty()) return null; final RunnerAndConfigurationSettings settings = makeConfigurationSettings(location, "doc tests from file"); final PythonDocTestRunConfiguration configuration = (PythonDocTestRunConfiguration)settings.getConfiguration();