From cf516c5ef04d1a2a709f384d0df3132a72f5f741 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Fri, 29 Oct 2010 21:17:08 +0200 Subject: [PATCH] Ensure that mpd_format_track handles file: properly --- mopidy/frontends/mpd/translator.py | 2 +- tests/frontends/mpd/serializer_test.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/mopidy/frontends/mpd/translator.py b/mopidy/frontends/mpd/translator.py index f66c64a7..49fc064d 100644 --- a/mopidy/frontends/mpd/translator.py +++ b/mopidy/frontends/mpd/translator.py @@ -17,7 +17,7 @@ def track_to_mpd_format(track, position=None, cpid=None): :rtype: list of two-tuples """ result = [ - ('file', track.uri or ''), + ('file', uri_to_mpd_relative_path(track.uri) or ''), ('Time', track.length and (track.length // 1000) or 0), ('Artist', track_artists_to_mpd_format(track)), ('Title', track.name or ''), diff --git a/tests/frontends/mpd/serializer_test.py b/tests/frontends/mpd/serializer_test.py index 960e5ebd..af12a0de 100644 --- a/tests/frontends/mpd/serializer_test.py +++ b/tests/frontends/mpd/serializer_test.py @@ -6,6 +6,12 @@ from mopidy.frontends.mpd import translator, protocol from mopidy.models import Album, Artist, Playlist, Track class TrackMpdFormatTest(unittest.TestCase): + def setUp(self): + settings.LOCAL_MUSIC_FOLDER = '/dir/subdir' + + def tearDown(self): + settings.runtime.clear() + def test_mpd_format_for_empty_track(self): result = translator.track_to_mpd_format(Track()) self.assert_(('file', '') in result) @@ -17,6 +23,12 @@ class TrackMpdFormatTest(unittest.TestCase): self.assert_(('Date', '') in result) self.assertEqual(len(result), 7) + def test_mpd_format_track_uses_uri_to_mpd_relative_path(self): + track = Track(uri='file:///dir/subdir/song.mp3') + path = dict(translator.track_to_mpd_format(track))['file'] + correct_path = translator.uri_to_mpd_relative_path(track.uri) + self.assertEqual(path, correct_path) + def test_mpd_format_for_nonempty_track(self): track = Track( uri=u'a uri',