From 0cda09c62872542b4b8427aaaa9600b8fd8d7d2f Mon Sep 17 00:00:00 2001 From: jaseg Date: Sat, 26 Mar 2022 14:18:34 +0100 Subject: Add timeouts and error forwarding to wait_for_{property,event} conditions --- tests/test_mpv.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests') diff --git a/tests/test_mpv.py b/tests/test_mpv.py index b4bbf0d..1f7af3a 100755 --- a/tests/test_mpv.py +++ b/tests/test_mpv.py @@ -380,6 +380,31 @@ class KeyBindingTest(MpvTestCase): self.assertNotIn(b('b'), self.m._key_binding_handlers) self.assertIn(b('c'), self.m._key_binding_handlers) + def test_wait_for_event_error_forwarding(self): + self.m.play(TESTVID) + + def check(evt): + raise ValueError('fnord') + + with self.assertRaises(ValueError): + self.m.wait_for_event('end_file', cond=check) + + def test_wait_for_property_error_forwarding(self): + def run(): + nonlocal self + self.m.wait_until_playing() + self.m.mute = True + t = threading.Thread(target=run, daemon=True) + t.start() + + def cond(mute): + if mute: + raise ValueError('fnord') + + with self.assertRaises(ValueError): + self.m.play(TESTVID) + self.m.wait_for_property('mute', cond=cond) + def test_register_simple_decorator_fun_chaining(self): self.m.loop = 'inf' self.m.play(TESTVID) -- cgit