mopidy/tests/frontends/mpris/events_test.py
2011-06-29 18:10:27 +03:00

50 lines
2.2 KiB
Python

import mock
import unittest
from mopidy.frontends.mpris import MprisFrontend, MprisObject, PLAYER_IFACE
from mopidy.models import Track
class BackendEventsTest(unittest.TestCase):
def setUp(self):
self.mpris_frontend = MprisFrontend() # As a plain class, not an actor
self.mpris_object = mock.Mock(spec=MprisObject)
self.mpris_frontend.mpris_object = self.mpris_object
def test_paused_playing_event_changes_playback_status(self):
self.mpris_object.Get.return_value = 'Paused'
self.mpris_frontend.paused_playing(Track(), 0)
self.assertListEqual(self.mpris_object.Get.call_args_list, [
((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'PlaybackStatus': 'Paused'}, [])
def test_resumed_playing_event_changes_playback_status(self):
self.mpris_object.Get.return_value = 'Playing'
self.mpris_frontend.resumed_playing(Track(), 0)
self.assertListEqual(self.mpris_object.Get.call_args_list, [
((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'PlaybackStatus': 'Playing'}, [])
def test_started_playing_event_changes_playback_status_and_metadata(self):
self.mpris_object.Get.return_value = '...'
self.mpris_frontend.started_playing(Track())
self.assertListEqual(self.mpris_object.Get.call_args_list, [
((PLAYER_IFACE, 'Metadata'), {}),
((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])
def test_stopped_playing_event_changes_playback_status_and_metadata(self):
self.mpris_object.Get.return_value = '...'
self.mpris_frontend.stopped_playing(Track(), 0)
self.assertListEqual(self.mpris_object.Get.call_args_list, [
((PLAYER_IFACE, 'Metadata'), {}),
((PLAYER_IFACE, 'PlaybackStatus'), {}),
])
self.mpris_object.PropertiesChanged.assert_called_with(
PLAYER_IFACE, {'Metadata': '...', 'PlaybackStatus': '...'}, [])