diff --git a/tests/data/advanced_tag_cache b/tests/data/advanced_tag_cache new file mode 100644 index 00000000..3288275f --- /dev/null +++ b/tests/data/advanced_tag_cache @@ -0,0 +1,102 @@ +info_begin +mpd_version: 0.14.2 +fs_charset: UTF-8 +info_end +directory: subdir1 +begin: subdir1 +directory: subsubdir +begin: subdir1/subsubdir +songList begin +key: song8.mp3 +file: subdir1/subsubdir/song8.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +key: song9.mp3 +file: subdir1/subsubdir/song9.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +songList end +end: subdir1/subsubdir +songList begin +key: song4.mp3 +file: subdir1/song4.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +key: song5.mp3 +file: subdir1/song5.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +songList end +end: subdir1 +directory: subdir2 +begin: subdir2 +songList begin +key: song6.mp3 +file: subdir2/song6.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +key: song7.mp3 +file: subdir2/song7.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +songList end +end: subdir2 +songList begin +key: song1.mp3 +file: /song1.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +key: song2.mp3 +file: /song2.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +key: song3.mp3 +file: /song3.mp3 +Time: 4 +Artist: name +Title: trackname +Album: albumname +Track: 1/2 +Date: 2006 +mtime: 1272319626 +songList end diff --git a/tests/utils_test.py b/tests/utils_test.py index 3e88fc3b..cdfb47a0 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -98,3 +98,11 @@ class MPDTagCacheToTracksTest(unittest.TestCase): self.assertEqual(expected_tracks[0], list(tracks)[0]) self.assertEqual(set(expected_artists), artists) self.assertEqual(set(expected_albums), albums) + + def test_advanced_cache(self): + tracks, artists, albums = parse_mpd_tag_cache(data('advanced_tag_cache'), + data('')) + + self.assertEqual(set(expected_tracks), tracks) + self.assertEqual(set(expected_artists), artists) + self.assertEqual(set(expected_albums), albums)