Skip to content

Commit 28c8544

Browse files
committed
don't blow up with IndexError when there are no more items left
1 parent df7c134 commit 28c8544

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

effect/test_testing.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,3 +302,8 @@ def test_success(self):
302302
self.assertEqual(
303303
sync_perform(d, eff),
304304
(('performfoo', 'foo'), ('performbar', 'bar')))
305+
306+
def test_ran_out(self):
307+
"""When there are no more items left, None is returned."""
308+
d = SequenceDispatcher([])
309+
self.assertEqual(d('foo'), None)

effect/testing.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,8 @@ def __init__(self, sequence):
264264
self.sequence = sequence
265265

266266
def __call__(self, intent):
267+
if len(self.sequence) == 0:
268+
return
267269
exp_intent, func = self.sequence[0]
268270
if intent == exp_intent:
269271
self.sequence = self.sequence[1:]

0 commit comments

Comments
 (0)