Skip to content

Commit 328df60

Browse files
committed
fix issue #12 timeout is not forwarding it's source
1 parent 141c9b6 commit 328df60

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

eventkit/ops/timing.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ def __init__(self, timeout, source=None):
4444
def on_source(self, *args):
4545
loop = get_event_loop()
4646
self._last_time = loop.time()
47+
Op.on_source(self, *args)
4748

4849
def on_source_done(self, source):
4950
self._handle.cancel()

tests/timing_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ def test_sample(self):
2323
self.assertEqual(event.run(), [2, 4, 6, 8])
2424

2525
def test_timeout(self):
26+
# source faster than timeout
27+
seq = Event.sequence(array1, interval=0.01).timeout(0.1)
28+
self.assertEqual(seq.run(), array1)
29+
# source slower than timeout
30+
seq2 = Event.sequence([1, 2, 3], interval=0.1).timeout(0.01)
31+
self.assertEqual(seq2.run(), [1, Event.NO_VALUE])
32+
# plain timeout
2633
timer = Event.timer(10, count=1)
2734
event = timer.timeout(0.01)
2835
self.assertEqual(event.run(), [Event.NO_VALUE])

0 commit comments

Comments
 (0)