From b00b38dab6fdea37e2fc7fe201388dea84768a7b Mon Sep 17 00:00:00 2001 From: Jan Holthuis Date: Sun, 17 Feb 2019 19:09:46 +0100 Subject: [PATCH] test: Add test for relative playlists --- test/test_playlist.py | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/test/test_playlist.py b/test/test_playlist.py index 3dd80c35f..b01a36d07 100644 --- a/test/test_playlist.py +++ b/test/test_playlist.py @@ -65,9 +65,12 @@ class PlaylistTest(unittest.TestCase, helper.TestHelper): self.lib.add_album([i3]) self.playlist_dir = tempfile.mkdtemp() - with open(os.path.join(self.playlist_dir, 'test.m3u'), 'w') as f: + with open(os.path.join(self.playlist_dir, 'absolute.m3u'), 'w') as f: f.write('{0}\n'.format(beets.util.displayable_path(i1.path))) f.write('{0}\n'.format(beets.util.displayable_path(i2.path))) + with open(os.path.join(self.playlist_dir, 'relative.m3u'), 'w') as f: + f.write('{0}\n'.format(os.path.join('a', 'b', 'c.mp3'))) + f.write('{0}\n'.format(os.path.join('d', 'e', 'f.mp3'))) self.config['directory'] = self.music_dir self.config['playlist']['relative_to'] = 'library' @@ -79,18 +82,18 @@ class PlaylistTest(unittest.TestCase, helper.TestHelper): shutil.rmtree(self.playlist_dir) self.teardown_beets() - def test_query_name(self): - q = u'playlist:test' + def test_name_query_with_absolute_paths_in_playlist(self): + q = u'playlist:absolute' results = self.lib.items(q) self.assertEqual(set([i.title for i in results]), set([ u'some item', u'another item', ])) - def test_query_path(self): + def test_path_query_with_absolute_paths_in_playlist(self): q = u'playlist:{0}'.format(shlex_quote(os.path.join( self.playlist_dir, - 'test.m3u', + 'absolute.m3u', ))) results = self.lib.items(q) self.assertEqual(set([i.title for i in results]), set([ @@ -98,12 +101,31 @@ class PlaylistTest(unittest.TestCase, helper.TestHelper): u'another item', ])) - def test_query_name_nonexisting(self): + def test_name_query_with_relative_paths_in_playlist(self): + q = u'playlist:relative' + results = self.lib.items(q) + self.assertEqual(set([i.title for i in results]), set([ + u'some item', + u'another item', + ])) + + def test_path_query_with_relative_paths_in_playlist(self): + q = u'playlist:{0}'.format(shlex_quote(os.path.join( + self.playlist_dir, + 'relative.m3u', + ))) + results = self.lib.items(q) + self.assertEqual(set([i.title for i in results]), set([ + u'some item', + u'another item', + ])) + + def test_name_query_with_nonexisting_playlist(self): q = u'playlist:nonexisting'.format(self.playlist_dir) results = self.lib.items(q) self.assertEqual(set(results), set()) - def test_query_path_nonexisting(self): + def test_path_query_with_nonexisting_playlist(self): q = u'playlist:{0}'.format(shlex_quote(os.path.join( self.playlist_dir, self.playlist_dir,