Skip to content

Commit d14207d

Browse files
fixed test DRY problem with helper method
1 parent 66d34cf commit d14207d

File tree

2 files changed

+26
-43
lines changed

2 files changed

+26
-43
lines changed

bpython/curtsiesfrontend/repl.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1167,15 +1167,15 @@ def add_normal_character(self, char, narrow_search=True):
11671167
reset_rl_history=False,
11681168
clear_special_mode=False,
11691169
)
1170-
if add_to_search:
1170+
if narrow_search:
11711171
self.cursor_offset += 1
11721172
else:
11731173
self._cursor_offset += 1
11741174
if self.config.cli_trim_prompts and self.current_line.startswith(
11751175
self.ps1
11761176
):
11771177
self.current_line = self.current_line[4:]
1178-
if add_to_search:
1178+
if narrow_search:
11791179
self.cursor_offset = max(0, self.cursor_offset - 4)
11801180
else:
11811181
self._cursor_offset += max(0, self.cursor_offset - 4)

bpython/test/test_brackets_completion.py

Lines changed: 24 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -30,49 +30,36 @@ class TestBracketCompletionEnabled(TestCase):
3030
def setUp(self):
3131
self.repl = create_repl(brackets_enabled=True)
3232

33+
def process_multiple_events(self, event_list):
34+
for event in event_list:
35+
self.repl.process_event(event)
36+
3337
def test_start_line(self):
3438
self.repl.process_event("(")
3539
self.assertEqual(self.repl._current_line, "()")
3640
self.assertEqual(self.repl._cursor_offset, 1)
3741

3842
def test_nested_brackets(self):
39-
self.repl.process_event("(")
40-
self.repl.process_event("[")
41-
self.repl.process_event("{")
43+
self.process_multiple_events(["(", "[", "{"])
4244
self.assertEqual(self.repl._current_line, """([{}])""")
4345
self.assertEqual(self.repl._cursor_offset, 3)
4446

4547
def test_quotes(self):
46-
self.repl.process_event("(")
47-
self.repl.process_event("'")
48-
self.repl.process_event("x")
49-
self.repl.process_event("<TAB>")
50-
self.repl.process_event(",")
51-
self.repl.process_event("[")
52-
self.repl.process_event('"')
53-
self.repl.process_event("y")
54-
self.repl.process_event("<TAB>")
55-
self.repl.process_event("<TAB>")
56-
self.repl.process_event("<TAB>")
48+
self.process_multiple_events(["(", "'", "x", "<TAB>", ","])
49+
self.process_multiple_events(["[", '"', "y", "<TAB>", "<TAB>", "<TAB>"])
5750
self.assertEqual(self.repl._current_line, """('x',["y"])""")
5851
self.assertEqual(self.repl._cursor_offset, 11)
5952

6053
def test_bracket_overwrite_closing_char(self):
61-
self.repl.process_event("(")
62-
self.repl.process_event("[")
63-
self.repl.process_event("{")
54+
self.process_multiple_events(["(", "[", "{"])
6455
self.assertEqual(self.repl._current_line, """([{}])""")
6556
self.assertEqual(self.repl._cursor_offset, 3)
66-
self.repl.process_event("}")
67-
self.repl.process_event("]")
68-
self.repl.process_event(")")
57+
self.process_multiple_events(["}", "]", ")"])
6958
self.assertEqual(self.repl._current_line, """([{}])""")
7059
self.assertEqual(self.repl._cursor_offset, 6)
7160

7261
def test_brackets_move_cursor_on_tab(self):
73-
self.repl.process_event("(")
74-
self.repl.process_event("[")
75-
self.repl.process_event("{")
62+
self.process_multiple_events(["(", "[", "{"])
7663
self.assertEqual(self.repl._current_line, """([{}])""")
7764
self.assertEqual(self.repl._cursor_offset, 3)
7865
self.repl.process_event("<TAB>")
@@ -104,9 +91,9 @@ def test_brackets_deletion_on_backspace(self):
10491
def test_brackets_deletion_on_backspace_nested(self):
10592
self.repl.current_line = '([{""}])'
10693
self.repl.cursor_offset = 4
107-
self.repl.process_event("<BACKSPACE>")
108-
self.repl.process_event("<BACKSPACE>")
109-
self.repl.process_event("<BACKSPACE>")
94+
self.process_multiple_events(
95+
["<BACKSPACE>", "<BACKSPACE>", "<BACKSPACE>"]
96+
)
11097
self.assertEqual(self.repl._current_line, "()")
11198
self.assertEqual(self.repl.cursor_offset, 1)
11299

@@ -115,34 +102,30 @@ class TestBracketCompletionDisabled(TestCase):
115102
def setUp(self):
116103
self.repl = create_repl(brackets_enabled=False)
117104

105+
def process_multiple_events(self, event_list):
106+
for event in event_list:
107+
self.repl.process_event(event)
108+
118109
def test_start_line(self):
119110
self.repl.process_event("(")
120111
self.assertEqual(self.repl._current_line, "(")
121112
self.assertEqual(self.repl._cursor_offset, 1)
122113

123114
def test_nested_brackets(self):
124-
self.repl.process_event("(")
125-
self.repl.process_event("[")
126-
self.repl.process_event("{")
115+
self.process_multiple_events(["(", "[", "{"])
127116
self.assertEqual(self.repl._current_line, "([{")
128117
self.assertEqual(self.repl._cursor_offset, 3)
129118

130119
def test_bracket_overwrite_closing_char(self):
131-
self.repl.process_event("(")
132-
self.repl.process_event("[")
133-
self.repl.process_event("{")
120+
self.process_multiple_events(["(", "[", "{"])
134121
self.assertEqual(self.repl._current_line, """([{""")
135122
self.assertEqual(self.repl._cursor_offset, 3)
136-
self.repl.process_event("}")
137-
self.repl.process_event("]")
138-
self.repl.process_event(")")
123+
self.process_multiple_events(["}", "]", ")"])
139124
self.assertEqual(self.repl._current_line, """([{}])""")
140125
self.assertEqual(self.repl._cursor_offset, 6)
141126

142127
def test_brackets_move_cursor_on_tab(self):
143-
self.repl.process_event("(")
144-
self.repl.process_event("[")
145-
self.repl.process_event("{")
128+
self.process_multiple_events(["(", "[", "{"])
146129
self.assertEqual(self.repl._current_line, """([{""")
147130
self.assertEqual(self.repl._cursor_offset, 3)
148131
self.repl.process_event("<TAB>")
@@ -159,8 +142,8 @@ def test_brackets_deletion_on_backspace(self):
159142
def test_brackets_deletion_on_backspace_nested(self):
160143
self.repl.current_line = '([{""}])'
161144
self.repl.cursor_offset = 4
162-
self.repl.process_event("<BACKSPACE>")
163-
self.repl.process_event("<BACKSPACE>")
164-
self.repl.process_event("<BACKSPACE>")
145+
self.process_multiple_events(
146+
["<BACKSPACE>", "<BACKSPACE>", "<BACKSPACE>"]
147+
)
165148
self.assertEqual(self.repl._current_line, "()")
166149
self.assertEqual(self.repl.cursor_offset, 1)

0 commit comments

Comments
 (0)