From 18c44e0d8aa557a66e29f772ea1b10087598d3ba Mon Sep 17 00:00:00 2001 From: Thomas Kemmer Date: Mon, 9 Dec 2013 15:54:28 +0100 Subject: [PATCH] add translator tests for EXTM3U files --- tests/backends/local/translator_test.py | 22 ++++++++++++++++++++++ tests/data/comment-ext.m3u | 3 +++ tests/data/encoding-ext.m3u | 2 ++ tests/data/two-ext.m3u | 2 ++ 4 files changed, 29 insertions(+) diff --git a/tests/backends/local/translator_test.py b/tests/backends/local/translator_test.py index de0e5a94..92e1a8d7 100644 --- a/tests/backends/local/translator_test.py +++ b/tests/backends/local/translator_test.py @@ -22,6 +22,9 @@ encoded_uri = path_to_uri(encoded_path) song1_track = Track(uri=song1_uri) song2_track = Track(uri=song2_uri) encoded_track = Track(uri=encoded_uri) +song1_ext_track = song1_track.copy(name='song1') +song2_ext_track = song2_track.copy(name='song2', length=60000) +encoded_ext_track = encoded_track.copy(name='æøå') # FIXME use mock instead of tempfile.NamedTemporaryFile @@ -89,6 +92,25 @@ class M3UToUriTest(unittest.TestCase): tracks = parse_m3u(path_to_data_dir('non-existant.m3u'), data_dir) self.assertEqual([], tracks) + def test_empty_ext_file(self): + tracks = parse_m3u(path_to_data_dir('empty-ext.m3u'), data_dir) + self.assertEqual([], tracks) + + def test_basic_ext_file(self): + tracks = parse_m3u(path_to_data_dir('one-ext.m3u'), data_dir) + self.assertEqual([song1_ext_track], tracks) + + def test_multi_ext_file(self): + tracks = parse_m3u(path_to_data_dir('two-ext.m3u'), data_dir) + self.assertEqual([song1_ext_track, song2_ext_track], tracks) + + def test_ext_file_with_comment(self): + tracks = parse_m3u(path_to_data_dir('comment-ext.m3u'), data_dir) + self.assertEqual([song1_ext_track], tracks) + + def test_ext_encoding_is_latin1(self): + tracks = parse_m3u(path_to_data_dir('encoding-ext.m3u'), data_dir) + self.assertEqual([encoded_ext_track], tracks) class URItoM3UTest(unittest.TestCase): pass diff --git a/tests/data/comment-ext.m3u b/tests/data/comment-ext.m3u index af37f706..95983d06 100644 --- a/tests/data/comment-ext.m3u +++ b/tests/data/comment-ext.m3u @@ -1,2 +1,5 @@ +#EXTM3U +# test +#EXTINF:-1,song1 # test song1.mp3 diff --git a/tests/data/encoding-ext.m3u b/tests/data/encoding-ext.m3u index 383aa526..1c59a322 100644 --- a/tests/data/encoding-ext.m3u +++ b/tests/data/encoding-ext.m3u @@ -1 +1,3 @@ +#EXTM3U +#EXTINF:-1,æøå æøå.mp3 diff --git a/tests/data/two-ext.m3u b/tests/data/two-ext.m3u index 7e94d5e9..c2bf3e75 100644 --- a/tests/data/two-ext.m3u +++ b/tests/data/two-ext.m3u @@ -1,3 +1,5 @@ #EXTM3U #EXTINF:-1,song1 song1.mp3 +#EXTINF:60,song2 +song2.mp3