diff --git a/python/python-psi-impl/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java b/python/python-psi-impl/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java index 3d49c4f0a960..031ab196e48c 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java +++ b/python/python-psi-impl/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java @@ -566,9 +566,6 @@ public final class PyExtractMethodUtil { final PyFunction method = builder.buildFunction(); final PyStatementList statementList = method.getStatementList(); for (PsiElement element : elementsRange) { - if (element instanceof PsiWhiteSpace) { - continue; - } statementList.add(element); } final PsiElement child = statementList.getFirstChild(); diff --git a/python/testData/refactoring/extractmethod/PreserveWhitespaceBetweenStatements.after.py b/python/testData/refactoring/extractmethod/PreserveWhitespaceBetweenStatements.after.py new file mode 100644 index 000000000000..e0b2cb6130d9 --- /dev/null +++ b/python/testData/refactoring/extractmethod/PreserveWhitespaceBetweenStatements.after.py @@ -0,0 +1,12 @@ +class Foo: + def bar(self): + print('hello') + + self.extracted() + + return self + + def extracted(self): + print('awesome') + + print('world') diff --git a/python/testData/refactoring/extractmethod/PreserveWhitespaceBetweenStatements.before.py b/python/testData/refactoring/extractmethod/PreserveWhitespaceBetweenStatements.before.py new file mode 100644 index 000000000000..c869513ccec7 --- /dev/null +++ b/python/testData/refactoring/extractmethod/PreserveWhitespaceBetweenStatements.before.py @@ -0,0 +1,9 @@ +class Foo: + def bar(self): + print('hello') + + print('awesome') + + print('world') + + return self diff --git a/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java b/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java index 9b9a37d5fd59..3afd1ac048ba 100644 --- a/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java +++ b/python/testSrc/com/jetbrains/python/refactoring/PyExtractMethodTest.java @@ -348,4 +348,8 @@ public class PyExtractMethodTest extends LightMarkedTestCase { public void testTypedStatements() { doTest("greeting"); } + + public void testPreserveWhitespaceBetweenStatements() { + doTest("extracted"); + } }