From 87f679355203938891e9b62cb30497b74ae8fb70 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 1 Sep 2021 13:09:42 +0530 Subject: [PATCH] Allow mocking usage of timers in the test suite --- kitty/file_transmission.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kitty/file_transmission.py b/kitty/file_transmission.py index 7e2dc9946..13d2a838f 100644 --- a/kitty/file_transmission.py +++ b/kitty/file_transmission.py @@ -351,9 +351,12 @@ def __init__(self, window_id: int): self.pending_receive_responses: Deque[Tuple[str, str]] = deque() self.pending_timer: Optional[int] = None + def callback_after(self, callback: Callable[[Optional[int]], None], timeout: float) -> Optional[int]: + return add_timer(callback, timeout, False) + def start_pending_timer(self) -> None: if self.pending_timer is None: - self.pending_timer = add_timer(self.try_pending, 0.2, False) + self.pending_timer = self.callback_after(self.try_pending, 0.2) def try_pending(self, timer_id: Optional[int]) -> None: self.pending_timer = None @@ -536,3 +539,6 @@ def write_osc_to_child(self, request_id: str, payload: str, appendleft: bool = F def start_receive(self, aid: str) -> None: self.handle_send_confirmation(aid, {'response': 'y' if self.allow else 'n'}) + + def callback_after(self, callback: Callable[[Optional[int]], None], timeout: float) -> Optional[int]: + callback(None)