diff --git a/tests/__init__.py b/tests/__init__.py index fd6a6508..b08afb01 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,3 +1,5 @@ +import os + try: # 2.7 from unittest.case import SkipTest except ImportError: @@ -6,3 +8,10 @@ except ImportError: except ImportError: # Failsafe class SkipTest(Exception): pass + +def data_folder(name): + folder = os.path.dirname(__file__) + folder = os.path.join(folder, 'data') + folder = os.path.abspath(folder) + return os.path.join(folder, name) + diff --git a/tests/utils_test.py b/tests/utils_test.py index 3952a7d6..b2551c36 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -8,18 +8,11 @@ import urllib from mopidy.utils import parse_m3u, parse_mpd_tag_cache from mopidy.models import Track, Artist, Album -from tests import SkipTest +from tests import SkipTest, data_folder -def data(name): - folder = os.path.dirname(__file__) - folder = os.path.join(folder, 'data') - folder = os.path.abspath(folder) - return os.path.join(folder, name) - - -song1_path = data('song1.mp3') -song2_path = data('song2.mp3') -encoded_path = data(u'æøå.mp3') +song1_path = data_folder('song1.mp3') +song2_path = data_folder('song2.mp3') +encoded_path = data_folder(u'æøå.mp3') song1_uri = 'file://' + urllib.pathname2url(song1_path) song2_uri = 'file://' + urllib.pathname2url(song2_path) encoded_uri = 'file://' + urllib.pathname2url(encoded_path.encode('utf-8')) @@ -27,15 +20,15 @@ encoded_uri = 'file://' + urllib.pathname2url(encoded_path.encode('utf-8')) class M3UToUriTest(unittest.TestCase): def test_empty_file(self): - uris = parse_m3u(data('empty.m3u')) + uris = parse_m3u(data_folder('empty.m3u')) self.assertEqual([], uris) def test_basic_file(self): - uris = parse_m3u(data('one.m3u')) + uris = parse_m3u(data_folder('one.m3u')) self.assertEqual([song1_uri], uris) def test_file_with_comment(self): - uris = parse_m3u(data('comment.m3u')) + uris = parse_m3u(data_folder('comment.m3u')) self.assertEqual([song1_uri], uris) def test_file_with_absolute_files(self): @@ -62,7 +55,7 @@ class M3UToUriTest(unittest.TestCase): self.assertEqual([song1_uri], uris) def test_encoding_is_latin1(self): - uris = parse_m3u(data('encoding.m3u')) + uris = parse_m3u(data_folder('encoding.m3u')) self.assertEqual([encoded_uri], uris) expected_artists = [Artist(name='name')] @@ -70,7 +63,7 @@ expected_albums = [Album(name='albumname', artists=expected_artists, num_tracks= expected_tracks = [] def generate_track(path): - uri = 'file://' + urllib.pathname2url(data(path)) + uri = 'file://' + urllib.pathname2url(data_folder(path)) track = Track(name='trackname', artists=expected_artists, track_no=1, album=expected_albums[0], length=4000, uri=uri) expected_tracks.append(track) @@ -87,23 +80,23 @@ generate_track('subdir1/subsubdir/song9.mp3') class MPDTagCacheToTracksTest(unittest.TestCase): def test_emtpy_cache(self): - tracks, artists, albums = parse_mpd_tag_cache(data('empty_tag_cache'), - data('')) + tracks, artists, albums = parse_mpd_tag_cache(data_folder('empty_tag_cache'), + data_folder('')) self.assertEqual(set(), tracks) self.assertEqual(set(), artists) self.assertEqual(set(), albums) def test_simple_cache(self): - tracks, artists, albums = parse_mpd_tag_cache(data('simple_tag_cache'), - data('')) + tracks, artists, albums = parse_mpd_tag_cache(data_folder('simple_tag_cache'), + data_folder('')) 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('')) + tracks, artists, albums = parse_mpd_tag_cache(data_folder('advanced_tag_cache'), + data_folder('')) self.assertEqual(set(expected_tracks), tracks) self.assertEqual(set(expected_artists), artists)