summaryrefslogtreecommitdiff
path: root/test/fixers
diff options
context:
space:
mode:
authorBert JW Regeer <xistence@0x58.com>2018-09-25 03:02:01 -0600
committerw0rp <w0rp@users.noreply.github.com>2018-09-25 10:02:01 +0100
commit8e7e810db6f54c045474ae7d36575ee01804b885 (patch)
tree740ca68fe05332c842389183132acc0031cb4450 /test/fixers
parentaa5c82b1718f44d04f6dd11bc63f6eeed2089d9d (diff)
downloadale-8e7e810db6f54c045474ae7d36575ee01804b885.zip
Bugfix: python add blank lines (#1944)
* Don't add newlines when not a control statement for Python * Add test for accidental newline fix * Add docstring detection to avoid adding unnecessarily newlines * Add tests for docstring detection
Diffstat (limited to 'test/fixers')
-rw-r--r--test/fixers/test_python_add_blank_lines_fixer.vader56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/fixers/test_python_add_blank_lines_fixer.vader b/test/fixers/test_python_add_blank_lines_fixer.vader
index 4a91aa10..7d042c8a 100644
--- a/test/fixers/test_python_add_blank_lines_fixer.vader
+++ b/test/fixers/test_python_add_blank_lines_fixer.vader
@@ -6,15 +6,22 @@ After:
Given python(Some Python without blank lines):
def foo():
+ """ This is a simple test docstring """
return 1
def bar():
+ '''This is another simple test docstring'''
return 1
return 4
def bar():
+ """
+ This is a multi-line
+ docstring
+ """
+
if x:
pass
for l in x:
@@ -44,16 +51,25 @@ Execute(Blank lines should be added appropriately):
Expect python(Newlines should be added):
def foo():
+ """ This is a simple test docstring """
+
return 1
def bar():
+ '''This is another simple test docstring'''
+
return 1
return 4
def bar():
+ """
+ This is a multi-line
+ docstring
+ """
+
if x:
pass
@@ -109,3 +125,43 @@ Expect python(extra newlines shouldn't be added to the main block):
if __name__ == '__main__':
main()
+
+
+Given python(A file with variables/docstring that start with a control statement):
+ def some():
+ """
+ This is a docstring that contains an
+ break control statement and also contains a
+ return something funny.
+ """
+
+ continue_some_var = True
+ forward_something = False
+
+ if (
+ continue_some_var and
+ forwarded_something
+ ):
+ return True
+
+
+Execute(Fix the file):
+ let g:ale_fixers = {'python': ['add_blank_lines_for_python_control_statements']}
+ ALEFix
+
+Expect python(Extra new lines are not added to the file):
+ def some():
+ """
+ This is a docstring that contains an
+ break control statement and also contains a
+ return something funny.
+ """
+
+ continue_some_var = True
+ forward_something = False
+
+ if (
+ continue_some_var and
+ forwarded_something
+ ):
+ return True