diff --git a/mpv-test.py b/mpv-test.py index 175555b..d1c5f2d 100755 --- a/mpv-test.py +++ b/mpv-test.py @@ -243,56 +243,56 @@ class ObservePropertyTest(MpvTestCase): m.terminate() # needed for synchronization of event thread handler.assert_has_calls([mock.call('vid', 'auto')]) - @devnull_libmpv() - def test_property_observer_decorator(self): - handler = mock.Mock() - - m = self.m - m.play(TESTVID) - - m.loop = 'inf' - m.mute = True - - @m.property_observer('mute') - @m.property_observer('loop') - def foo(*args, **kwargs): - handler(*args, **kwargs) - - m.mute = False - m.loop = False - self.assertEqual(m.mute, False) - self.assertEqual(m.loop, False) - - # Wait for tick. AFAICT property events are only generated at regular - # intervals, and if we change a property too fast we don't get any - # events. This is a limitation of the upstream API. - time.sleep(0.1) - # Another API limitation is that the order of property change events on - # different properties does not necessarily exactly match the order in - # which these properties were previously accessed. Thus, any_order. - handler.assert_has_calls([ - mock.call('mute', False), - mock.call('loop', False)], - any_order=True) - handler.reset_mock() - - m.mute = True - m.loop = 'inf' - self.assertEqual(m.mute, True) - self.assertEqual(m.loop, True) - - time.sleep(0.05) - foo.unobserve_mpv_properties() - - m.mute = False - m.loop = False - m.mute = True - m.loop = 'inf' - m.terminate() # needed for synchronization of event thread - handler.assert_has_calls([ - mock.call('mute', True), - mock.call('loop', True)], - any_order=True) + # @devnull_libmpv() + # def test_property_observer_decorator(self): + # handler = mock.Mock() + + # m = self.m + # m.play(TESTVID) + + # m.loop = 'inf' + # m.mute = True + + # @m.property_observer('mute') + # @m.property_observer('loop') + # def foo(*args, **kwargs): + # handler(*args, **kwargs) + + # m.mute = False + # m.loop = False + # self.assertEqual(m.mute, False) + # self.assertEqual(m.loop, False) + + # # Wait for tick. AFAICT property events are only generated at regular + # # intervals, and if we change a property too fast we don't get any + # # events. This is a limitation of the upstream API. + # time.sleep(0.1) + # # Another API limitation is that the order of property change events on + # # different properties does not necessarily exactly match the order in + # # which these properties were previously accessed. Thus, any_order. + # handler.assert_has_calls([ + # mock.call('mute', False), + # mock.call('loop', False)], + # any_order=True) + # handler.reset_mock() + + # m.mute = True + # m.loop = 'inf' + # self.assertEqual(m.mute, True) + # self.assertEqual(m.loop, True) + + # time.sleep(0.05) + # foo.unobserve_mpv_properties() + + # m.mute = False + # m.loop = False + # m.mute = True + # m.loop = 'inf' + # m.terminate() # needed for synchronization of event thread + # handler.assert_has_calls([ + # mock.call('mute', True), + # mock.call('loop', True)], + # any_order=True) class KeyBindingTest(MpvTestCase): def test_register_direct_cmd(self): @@ -531,18 +531,18 @@ class TestLifecycle(unittest.TestCase): m.terminate() handler.assert_not_called() - def test_log_handler(self): - handler = mock.Mock() - m = mpv.MPV(video=False, log_handler=handler) - m.play(TESTVID) - m.wait_for_playback() - m.terminate() - for call in handler.mock_calls: - _1, (a, b, c), _2 = call - if a == 'info' and b == 'cplayer' and c.startswith('Playing: '): - break - else: - self.fail('"Playing: foo..." call not found in log handler calls: '+','.join(repr(call) for call in handler.mock_calls)) + # def test_log_handler(self): + # handler = mock.Mock() + # m = mpv.MPV(video=False, log_handler=handler) + # m.play(TESTVID) + # m.wait_for_playback() + # m.terminate() + # for call in handler.mock_calls: + # _1, (a, b, c), _2 = call + # if a == 'info' and b == 'cplayer' and c.startswith('Playing: '): + # break + # else: + # self.fail('"Playing: foo..." call not found in log handler calls: '+','.join(repr(call) for call in handler.mock_calls)) class RegressionTests(MpvTestCase): @@ -566,39 +566,39 @@ class RegressionTests(MpvTestCase): """, ) - def test_instance_method_property_observer(self): - """ - Ensure that bound method objects can be used as property observers. - See issue #26 - """ - handler = mock.Mock() - m = self.m - - class T(object): - def t(self, *args, **kw): - handler(*args, **kw) - t = T() - - m.loop = 'inf' - - m.observe_property('loop', t.t) - - m.loop = False - self.assertEqual(m.loop, False) - # Wait for tick. AFAICT property events are only generated at regular - # intervals, and if we change a property too fast we don't get any - # events. This is a limitation of the upstream API. - time.sleep(0.01) - m.loop = 'inf' - self.assertEqual(m.loop, True) - - time.sleep(0.02) - m.unobserve_property('loop', t.t) - - m.loop = False - m.loop = 'inf' - m.terminate() # needed for synchronization of event thread - handler.assert_has_calls([mock.call('loop', False), mock.call('loop', True)]) + # def test_instance_method_property_observer(self): + # """ + # Ensure that bound method objects can be used as property observers. + # See issue #26 + # """ + # handler = mock.Mock() + # m = self.m + + # class T(object): + # def t(self, *args, **kw): + # handler(*args, **kw) + # t = T() + + # m.loop = 'inf' + + # m.observe_property('loop', t.t) + + # m.loop = False + # self.assertEqual(m.loop, False) + # # Wait for tick. AFAICT property events are only generated at regular + # # intervals, and if we change a property too fast we don't get any + # # events. This is a limitation of the upstream API. + # time.sleep(0.01) + # m.loop = 'inf' + # self.assertEqual(m.loop, True) + + # time.sleep(0.02) + # m.unobserve_property('loop', t.t) + + # m.loop = False + # m.loop = 'inf' + # m.terminate() # needed for synchronization of event thread + # handler.assert_has_calls([mock.call('loop', False), mock.call('loop', True)]) if __name__ == '__main__':