def test_different_url_not_flyweighted(self): t1 = track.Track(test_data.TEST_TRACKS[0]) t2 = track.Track(uri=test_data.TEST_TRACKS[1]) self.assertTrue(t1 is not t2, "%s should not be %s" % (repr(t1), repr(t2)))
def test_get_display_tag_numeric_zero(self): tr = track.Track('/foo') self.assertEqual(tr.get_tag_display('tracknumber'), u'') self.assertEqual(tr.get_tag_display('discnumber'), u'') self.assertEqual(tr.get_tag_display('__rating'), u'0') self.assertEqual(tr.get_tag_display('__playcount'), u'0')
def test_get_display_tag_join_false(self): tr = track.Track('/foo') tr.set_tag_raw('artist', [u'foo', u'bar']) self.assertEqual(tr.get_tag_display('artist', join=False), [u'foo', u'bar'])
def test_get_display_tag_length(self): tr = track.Track('/foo') tr.set_tag_raw('__length', 360) self.assertEqual(tr.get_tag_display('__length'), u'360')
def test_get_display_tag_bitrate_bitrateless_formate(self): tr = track.Track(test_data.get_file_with_ext('.flac')) self.assertEqual(tr.get_tag_display('__bitrate'), u'')
def test_get_sort_tag_other(self): tr = track.Track('/foo') val = u'foobar' ret = u'foobar foobar foobar foobar' tr.set_tag_raw('coverart', u'foobar') self.assertEqual(tr.get_tag_sort('coverart'), ret)
def test_get_display_tag_compilation(self): raise SkipTest("TODO") tr = track.Track('/foo') tr.set_tag_raw('__compilation', u'foo') self.assertEqual(tr.get_tag_display('artist'), track._VARIOUSARTISTSSTR)
def test_local_filesize(self): for tr_name in test_data.TEST_TRACKS_SIZE: tr = track.Track(tr_name) self.assertEqual(tr.get_size(), test_data.TEST_TRACKS_SIZE[tr_name])
def test_write_tag_invalid_format(self): tr = track.Track('/tmp/foo.foo') self.assertEqual(tr.write_tags(), False)
def test_is_local_local(self): """Tests a local filename -> True""" tr = track.Track('foo') self.assertEqual(tr.is_local(), True)
def test_is_local_remote(self): """Tests a remote filename -> False""" tr = track.Track('http://foo') self.assertEqual(tr.is_local(), False)
def test_local_type(self): for tr in test_data.TEST_TRACKS: tr = track.Track(tr) self.assertEqual(tr.get_type(), 'file')
def test_takes_nonurl(self): for tr in test_data.TEST_TRACKS: tr = track.Track(tr) print(tr.get_loc_for_io()) self.assertTrue(tr.get_local_path()) self.assertTrue(tr.exists())
def test_unpickles(self): tr1 = track.Track(_unpickles={ 'artist': [u'my_artist'], '__loc': u'uri' }) self.assertEqual(tr1.get_loc_for_io(), u'uri')
def test_get_sort_tag_length(self): tr = track.Track('/foo') tr.set_tag_raw('__length', 36) self.assertEqual(tr.get_tag_sort('__length'), 36)
def test_join_tag_empty(self): """Tests get_tag_raw with join=True and an empty tag""" tr = track.Track('foo') self.assertEqual(tr.get_tag_raw('artist', join=True), None)
def test_get_sort_tag_playcount(self): tr = track.Track('/foo') tr.set_tag_raw('__playcount', 36) self.assertEqual(tr.get_tag_sort('__playcount'), 36)
def test_join_tag_two(self): """Tests get_tag_raw with join=True and one element in tag""" tr = track.Track('foo') tr.set_tag_raw('artist', [u'foo', u'bar']) self.assertEqual(tr.get_tag_raw('artist', join=True), u'foo / bar')
def test_get_display_tag_loc(self): tr = track.Track('/foo') self.assertEqual(tr.get_tag_display('__loc'), '/foo') tr = track.Track('http://foo') self.assertEqual(tr.get_tag_display('__loc'), 'http://foo')
def test_rating_empty(self): """Test get_rating when no rating has been set""" tr = track.Track('/foo') self.assertEqual(tr.get_rating(), 0)
def test_get_display_tag_tracknumber(self): tr = track.Track('/foo') value = '12/15' retval = '12' tr.set_tag_raw('tracknumber', value) self.assertEqual(tr.get_tag_display('tracknumber'), retval)
def test_set_rating(self): tr = track.Track('/foo') tr.set_rating(2) self.assertEqual(tr.get_rating(), 2)
def test_get_display_tag_bitrate(self): tr = track.Track('/foo') tr.set_tag_raw('__bitrate', 48000) self.assertEqual(tr.get_tag_display('__bitrate'), u'48k')
def test_set_rating_invalid(self): tr = track.Track('/bar') self.assertRaises(ValueError, tr.set_rating, 'foo')
def test_get_display_tag_bitrate_bad(self): tr = track.Track('/foo') tr.set_tag_raw('__bitrate', u'lol') self.assertEqual(tr.get_tag_display('__bitrate'), u'')
def test_get_sort_tag_no_join(self): tr = track.Track('/foo') value = u'hello' retval = [u'hello hello hello hello'] tr.set_tag_raw('artist', value) self.assertEqual(tr.get_tag_sort('artist', join=False), retval)
def test_get_display_tag_join_true(self): tr = track.Track('/foo') tr.set_tag_raw('artist', [u'foo', u'bar']) self.assertEqual(tr.get_tag_display('artist'), 'foo / bar')
def test_get_sort_tag_discnumber(self): tr = track.Track('/foo') value = '12/15' retval = 12 tr.set_tag_raw('discnumber', value) self.assertEqual(tr.get_tag_sort('discnumber'), retval)
def test_get_search_tag_loc(self): tr = track.Track('/foo') self.assertEqual(tr.get_tag_search('__loc'), '__loc=="file:///foo"')
def test_list_disk_tag_invalid_format(self): tr_name = '/tmp/foo.foo' tr = track.Track(tr_name) assert tr.list_tags_disk() is None