1# -*- coding: utf-8 -*- 2 3import os 4 5from mutagen.trueaudio import TrueAudio, delete, error 6from mutagen.id3 import TIT1 7 8from tests import TestCase, DATA_DIR, get_temp_copy 9 10 11class TTrueAudio(TestCase): 12 13 def setUp(self): 14 self.audio = TrueAudio(os.path.join(DATA_DIR, "empty.tta")) 15 16 def test_tags(self): 17 self.failUnless(self.audio.tags is None) 18 19 def test_length(self): 20 self.failUnlessAlmostEqual(self.audio.info.length, 3.7, 1) 21 22 def test_sample_rate(self): 23 self.failUnlessEqual(44100, self.audio.info.sample_rate) 24 25 def test_not_my_file(self): 26 filename = os.path.join(DATA_DIR, "empty.ogg") 27 self.failUnlessRaises(error, TrueAudio, filename) 28 29 def test_module_delete(self): 30 delete(os.path.join(DATA_DIR, "empty.tta")) 31 32 def test_delete(self): 33 self.audio.delete() 34 self.failIf(self.audio.tags) 35 36 def test_pprint(self): 37 self.failUnless(self.audio.pprint()) 38 39 def test_save_reload(self): 40 filename = get_temp_copy(self.audio.filename) 41 try: 42 audio = TrueAudio(filename) 43 audio.add_tags() 44 audio.tags.add(TIT1(encoding=0, text="A Title")) 45 audio.save() 46 audio = TrueAudio(filename) 47 self.failUnlessEqual(audio["TIT1"], "A Title") 48 finally: 49 os.unlink(filename) 50 51 def test_mime(self): 52 self.failUnless("audio/x-tta" in self.audio.mime) 53