beets/test/test_zero.py
2014-04-11 00:06:59 +02:00

75 lines
2 KiB
Python

"""Tests for the 'zero' plugin"""
from _common import unittest
from helper import TestHelper
from beets.library import Item
from beets import config
from beetsplug.zero import ZeroPlugin
from beets.mediafile import MediaFile
class ZeroPluginTest(unittest.TestCase, TestHelper):
def tearDown(self):
config.clear()
self.unload_plugins()
def test_no_patterns(self):
i = Item(
comments='test comment',
day=13,
month=3,
year=2012,
)
z = ZeroPlugin()
z.debug = False
z.fields = ['comments', 'month', 'day']
z.patterns = {'comments': ['.'],
'month': ['.'],
'day': ['.']}
z.write_event(i)
self.assertEqual(i.comments, '')
self.assertEqual(i.day, 0)
self.assertEqual(i.month, 0)
self.assertEqual(i.year, 2012)
def test_patterns(self):
i = Item(
comments='from lame collection, ripped by eac',
year=2012,
)
z = ZeroPlugin()
z.debug = False
z.fields = ['comments', 'year']
z.patterns = {'comments': 'eac lame'.split(),
'year': '2098 2099'.split()}
z.write_event(i)
self.assertEqual(i.comments, '')
self.assertEqual(i.year, 2012)
def test_delete_replaygain_tag(self):
path = self.create_mediafile_fixture()
item = Item.from_path(path)
item.rg_track_peak = 0.0
item.write()
mediafile = MediaFile(item.path)
self.assertIsNotNone(mediafile.rg_track_peak)
config['zero'] = {
'fields': ['rg_track_peak'],
}
self.load_plugins('zero')
item.write()
mediafile = MediaFile(item.path)
self.assertIsNone(mediafile.rg_track_peak)
def suite():
return unittest.TestLoader().loadTestsFromName(__name__)
if __name__ == '__main__':
unittest.main(defaultTest='suite')