diff --git a/test/rsrc/playlist_windows.m3u8 b/test/rsrc/playlist_windows.m3u8 new file mode 100644 index 000000000..97da8660a --- /dev/null +++ b/test/rsrc/playlist_windows.m3u8 @@ -0,0 +1,3 @@ +#EXTM3U +\\\\?\\/This/is/å/path/to_a_file.mp3 +\\\\?\\/This/is/another/path/tö_a_file.mp3 diff --git a/test/test_m3ufile.py b/test/test_m3ufile.py index 73dc57d54..4e13a9c1d 100644 --- a/test/test_m3ufile.py +++ b/test/test_m3ufile.py @@ -18,6 +18,7 @@ from os import path from tempfile import mkdtemp from shutil import rmtree import unittest +import sys from beets.util import bytestring_path from beets.util.m3u import M3UFile, EmptyPlaylistError @@ -69,6 +70,7 @@ class M3UFileTest(unittest.TestCase): self.assertEqual(m3ufile.media_list[0], '/This/is/a/path/to_a_file.mp3\n') + @unittest.skipIf(sys.platform == 'win32', 'win32') def test_playlist_load_unicode(self): """Test loading unicode paths from a playlist file.""" the_playlist_file = path.join(RSRC, b'playlist.m3u8') @@ -77,6 +79,15 @@ class M3UFileTest(unittest.TestCase): self.assertEqual(m3ufile.media_list[0], '/This/is/å/path/to_a_file.mp3\n') + @unittest.skipUnless(sys.platform == 'win32', 'win32') + def test_playlist_load_unicode_windows(self): + """Test loading unicode paths from a playlist file.""" + the_playlist_file = path.join(RSRC, b'playlist_windows.m3u8') + m3ufile = M3UFile(the_playlist_file) + m3ufile.load() + self.assertEqual(m3ufile.media_list[0], + '\\\\?\\/This/is/å/path/to_a_file.mp3\n') + def test_playlist_load_extm3u(self): """Test loading a playlist with an #EXTM3U header.""" the_playlist_file = path.join(RSRC, b'playlist.m3u')