add :comment command for toggling comments
This commit is contained in:
75
tests/features/comment_test.py
Normal file
75
tests/features/comment_test.py
Normal file
@@ -0,0 +1,75 @@
|
||||
from testing.runner import and_exit
|
||||
from testing.runner import trigger_command_mode
|
||||
|
||||
|
||||
def test_comment_some_code(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
h.press('S-Down')
|
||||
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment')
|
||||
|
||||
h.await_text('# line_0\n# line_1\nline_2\n')
|
||||
|
||||
|
||||
def test_comment_some_code_with_alternate_comment_character(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
h.press('S-Down')
|
||||
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment //')
|
||||
|
||||
h.await_text('// line_0\n// line_1\nline_2\n')
|
||||
|
||||
|
||||
def test_comment_partially_commented(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
h.press('#')
|
||||
h.press('S-Down')
|
||||
h.await_text('#line_0\nline_1\nline_2')
|
||||
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment')
|
||||
|
||||
h.await_text('line_0\nline_1\nline_2\n')
|
||||
|
||||
|
||||
def test_comment_partially_uncommented(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
h.press('Down')
|
||||
h.press('#')
|
||||
h.press('Up')
|
||||
h.press('S-Down')
|
||||
h.await_text('line_0\n#line_1\nline_2')
|
||||
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment')
|
||||
|
||||
h.await_text('# line_0\n# #line_1\nline_2\n')
|
||||
|
||||
|
||||
def test_comment_single_line(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment')
|
||||
|
||||
h.await_text('# line_0\nline_1\n')
|
||||
|
||||
|
||||
def test_uncomment_single_line(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
h.press('#')
|
||||
h.await_text('#line_0\nline_1\n')
|
||||
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment')
|
||||
|
||||
h.await_text('line_0\nline_1\n')
|
||||
|
||||
|
||||
def test_comment_with_trailing_whitespace(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment // ')
|
||||
|
||||
h.await_text('// line_0\nline_1\n')
|
||||
Reference in New Issue
Block a user