Skip to content

Commit 3227c42

Browse files
Fix curtsiesrepl tests
1 parent 672bf78 commit 3227c42

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

bpython/test/test_curtsies_repl.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import code
33
from contextlib import contextmanager
44
from functools import partial
5-
from mock import Mock, patch
5+
from mock import Mock, patch, MagicMock
66
import os
77
from StringIO import StringIO
88
import sys
@@ -86,12 +86,17 @@ def test_get_last_word_with_prev_line(self):
8686
self.repl.up_one_line()
8787
self.assertEqual(self.repl.current_line,'2 3')
8888

89+
def mock_next(obj, return_value):
90+
if py3:
91+
obj.__next__.return_value = return_value
92+
else:
93+
obj.next.return_value = return_value
8994

9095
class TestCurtsiesReplTab(unittest.TestCase):
9196

9297
def setUp(self):
9398
self.repl = create_repl()
94-
self.repl.matches_iter = Mock()
99+
self.repl.matches_iter = MagicMock()
95100
def add_matches(*args, **kwargs):
96101
self.repl.matches_iter.matches = ['aaa', 'aab', 'aac']
97102
self.repl.complete = Mock(side_effect=add_matches,
@@ -125,22 +130,21 @@ def test_tab_with_no_matches_selects_first(self):
125130
self.repl._cursor_offset = 3
126131
self.repl.matches_iter.matches = []
127132
self.repl.matches_iter.is_cseq.return_value = False
128-
self.repl.matches_iter.next.return_value = None
133+
134+
mock_next(self.repl.matches_iter, None)
129135
self.repl.matches_iter.cur_line.return_value = (None, None)
130136
self.repl.on_tab()
131137
self.repl.complete.assert_called_once_with(tab=True)
132-
self.repl.matches_iter.next.assert_called_once_with()
133138
self.repl.matches_iter.cur_line.assert_called_once_with()
134139

135140
def test_tab_with_matches_selects_next_match(self):
136141
self.repl._current_line = ' aa'
137142
self.repl._cursor_offset = 3
138143
self.repl.complete()
139144
self.repl.matches_iter.is_cseq.return_value = False
140-
self.repl.matches_iter.next.return_value = None
145+
mock_next(self.repl.matches_iter, None)
141146
self.repl.matches_iter.cur_line.return_value = (None, None)
142147
self.repl.on_tab()
143-
self.repl.matches_iter.next.assert_called_once_with()
144148
self.repl.matches_iter.cur_line.assert_called_once_with()
145149

146150
def test_tab_completes_common_sequence(self):

0 commit comments

Comments
 (0)