Test and implement mpris.SupportedUriSchemes property

This commit is contained in:
Stein Magnus Jodal 2011-06-20 19:56:41 +03:00
parent 7faed379ef
commit 90ce8b21bc
2 changed files with 17 additions and 6 deletions

View File

@ -131,8 +131,7 @@ class MprisObject(dbus.service.Object):
'HasTrackList': (False, None),
'Identity': ('Mopidy', None),
'DesktopEntry': ('mopidy', None),
# TODO Return URI schemes supported by backend configuration
'SupportedUriSchemes': (dbus.Array([], signature='s'), None),
'SupportedUriSchemes': (self.get_SupportedUriSchemes, None),
# TODO Return MIME types supported by local backend if active
'SupportedMimeTypes': (dbus.Array([], signature='s'), None),
}
@ -234,6 +233,12 @@ class MprisObject(dbus.service.Object):
exit_process()
### Root interface properties
def get_SupportedUriSchemes(self):
return dbus.Array(self.backend.uri_schemes.get(), signature='s')
### Player interface methods
@dbus.service.method(dbus_interface=PLAYER_IFACE)

View File

@ -1,14 +1,19 @@
import mock
import unittest
from mopidy.backends.dummy import DummyBackend
from mopidy.frontends import mpris
class RootInterfaceTest(unittest.TestCase):
def setUp(self):
mpris.exit_process = mock.Mock()
mpris.MprisObject._connect_to_dbus = mock.Mock()
self.backend = DummyBackend.start().proxy()
self.mpris = mpris.MprisObject()
def tearDown(self):
self.backend.stop()
def test_constructor_connects_to_dbus(self):
self.assert_(self.mpris._connect_to_dbus.called)
@ -33,16 +38,17 @@ class RootInterfaceTest(unittest.TestCase):
def test_identify_is_mopidy(self):
result = self.mpris.Get(mpris.ROOT_IFACE, 'Identity')
self.assertEquals('Mopidy', result)
self.assertEquals(result, 'Mopidy')
def test_desktop_entry_is_mopidy(self):
result = self.mpris.Get(mpris.ROOT_IFACE, 'DesktopEntry')
self.assertEquals('mopidy', result)
self.assertEquals(result, 'mopidy')
def test_supported_uri_schemes_is_empty(self):
result = self.mpris.Get(mpris.ROOT_IFACE, 'SupportedUriSchemes')
self.assertEquals(0, len(result))
self.assertEquals(len(result), 1)
self.assertEquals(result[0], 'dummy')
def test_supported_mime_types_is_empty(self):
result = self.mpris.Get(mpris.ROOT_IFACE, 'SupportedMimeTypes')
self.assertEquals(0, len(result))
self.assertEquals(len(result), 0)