Skip to content

Commit b1f22f5

Browse files
increase coverage of paste detector
1 parent f108564 commit b1f22f5

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

bpython/test/test_curtsies.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ def send(self, timeout=None):
4444

4545
def tick(self, dt=1):
4646
self._current_tick += dt
47+
return self._current_tick
4748

4849

4950
class TestCurtsiesPasteDetection(TestCase):
@@ -63,9 +64,11 @@ def test_paste_threshold(self):
6364
self.assertEqual(next(cb), None)
6465

6566
def test_set_timeout(self):
66-
eg = EventGenerator('a', zip('bcd', [1,2,3]))
67+
eg = EventGenerator('a', zip('bcdefg', [1, 2, 3, 3, 3, 4]))
68+
eg.schedule_event(curtsies.events.SigIntEvent(), 5)
69+
eg.schedule_event('h', 6)
6770
inputs = combined_events(eg)
68-
cb = combined_events(inputs, paste_threshold=5)
71+
cb = combined_events(inputs, paste_threshold=3)
6972
self.assertEqual(next(cb), 'a')
7073
self.assertEqual(cb.send(0), None)
7174
self.assertEqual(next(cb), 'b')
@@ -74,9 +77,15 @@ def test_set_timeout(self):
7477
self.assertEqual(cb.send(0), 'c')
7578
self.assertEqual(cb.send(0), None)
7679
eg.tick()
77-
self.assertEqual(cb.send(0), 'd')
80+
self.assertIsInstance(cb.send(0), curtsies.events.PasteEvent)
7881
self.assertEqual(cb.send(0), None)
79-
82+
self.assertEqual(cb.send(None), 'g')
83+
self.assertEqual(cb.send(0), None)
84+
eg.tick(1)
85+
self.assertIsInstance(cb.send(0), curtsies.events.SigIntEvent)
86+
self.assertEqual(cb.send(0), None)
87+
self.assertEqual(cb.send(None), 'h')
88+
self.assertEqual(cb.send(None), None)
8089

8190

8291
if __name__ == '__main__':

0 commit comments

Comments
 (0)