diff --git a/mopidy/audio/scan.py b/mopidy/audio/scan.py index 72c4bee6..f4efdb69 100644 --- a/mopidy/audio/scan.py +++ b/mopidy/audio/scan.py @@ -176,7 +176,7 @@ def _query_duration(pipeline): elif duration < 0: duration = None # Stream without duration. else: - duration = duration // Gst.MSECOND + duration = int(duration // Gst.MSECOND) return success, duration diff --git a/tests/m3u/test_playlists.py b/tests/m3u/test_playlists.py index e0ea1ce4..e993f9b1 100644 --- a/tests/m3u/test_playlists.py +++ b/tests/m3u/test_playlists.py @@ -151,6 +151,9 @@ class M3UPlaylistsProviderTest(unittest.TestCase): self.assertEqual(playlist.name, result.name) self.assertEqual(track.uri, result.tracks[0].uri) + @unittest.skipIf( + platform.system() == 'Darwin', + 'macOS 10.13 raises IOError "Illegal byte sequence" on open.') def test_load_playlist_with_nonfilesystem_encoding_of_filename(self): path = os.path.join(self.playlists_dir, 'øæå.m3u'.encode('latin-1')) with open(path, 'wb+') as f: @@ -160,10 +163,7 @@ class M3UPlaylistsProviderTest(unittest.TestCase): self.assertEqual(len(self.core.playlists.as_list()), 1) result = self.core.playlists.as_list() - if platform.system() == 'Darwin': - self.assertEqual('%F8%E6%E5', result[0].name) - else: - self.assertEqual('\ufffd\ufffd\ufffd', result[0].name) + self.assertEqual('\ufffd\ufffd\ufffd', result[0].name) @unittest.SkipTest def test_playlists_dir_is_created(self): diff --git a/tests/stream/test_library.py b/tests/stream/test_library.py index 29348a6c..312feb69 100644 --- a/tests/stream/test_library.py +++ b/tests/stream/test_library.py @@ -60,4 +60,8 @@ def test_lookup_converts_uri_metadata_to_track(audio, config, track_uri): backend = actor.StreamBackend(audio=audio, config=config) result = backend.library.lookup(track_uri) - assert result == [Track(length=4406, uri=track_uri)] + + assert len(result) == 1 + track = result[0] + assert track.uri == track_uri + assert track.length == 4406