2 # vim: set ts=4 sts=4 sw=4 textwidth=92 :
4 import os, sys, unittest
6 from RarslaveLogger import RarslaveLogger,RarslaveMessage,MessageType
8 class rarslavetest (unittest.TestCase):
10 def assertListEquals (self, l1, l2):
14 self.assertEquals (len(l1), len(l2))
18 self.fail ("Element missing from list")
23 self.logger = RarslaveLogger ()
28 def testGetBasenameNone (self):
29 QNAME = '[something] some names.txt'
30 ANAME = '[something] some names.txt'
32 # Tests for an exension that should not be stripped
33 self.assertEquals (ANAME, get_basename (QNAME))
35 def testGetBasenameSingle (self):
36 QNAME = '[something] some names.par2'
37 ANAME = '[something] some names'
39 self.assertEquals (ANAME, get_basename (QNAME))
41 def testGetBasenameMulti (self):
42 QNAME = '[a.f.k.] The Melancholy of Haruhi Suzumiya - 13.avi.001'
43 ANAME = '[a.f.k.] The Melancholy of Haruhi Suzumiya - 13'
45 self.assertEquals (ANAME, get_basename (QNAME))
47 def testGetBasenameMulti2 (self):
48 QNAME = '[AonE-AnY]_Ah_My_Goddess_-_Sorezore_no_Tsubasa_-_13_[WS][E6380C3F].avi.vol00+01.PAR2'
49 ANAME = '[AonE-AnY]_Ah_My_Goddess_-_Sorezore_no_Tsubasa_-_13_[WS][E6380C3F]'
51 self.assertEquals (ANAME, get_basename (QNAME))
53 def testFindLikelyFilesBadDir (self):
56 self.assertRaises (ValueError, find_likely_files, "fake", DIR)
58 def testFindAllPar2Files (self):
61 self.assertRaises (ValueError, find_all_par2_files, DIR)
63 def testHasExtension1 (self):
64 FILE = 'some.file.part01.rar'
66 self.assertTrue (has_extension (FILE, 'rar'))
67 self.assertTrue (has_extension (FILE, '.rar'))
68 self.assertTrue (has_extension (FILE, 'part01.rar'))
69 self.assertTrue (has_extension (FILE, '.part01.rar'))
71 def testHasExtension2 (self):
72 FILE = 'some.file.part01.rar'
74 self.assertFalse (has_extension (FILE, 'zip'))
75 self.assertFalse (has_extension (FILE, '.zip'))
76 self.assertFalse (has_extension (FILE, '.part01'))
77 self.assertFalse (has_extension (FILE, 'part01'))
79 def testIsNewRar (self):
80 DIR = os.getcwd() + '/test_material/01/'
82 self.assertTrue (is_newrar (os.listdir (DIR)))
84 def testDeletableFiles1 (self):
85 FILES = ['test.part%d.rar' % n for n in xrange(10)]
87 self.assertListEquals (find_deleteable_files (FILES), FILES)
89 def testDeletableFiles2 (self):
90 FILESN = ['%d.mp3' % n for n in xrange(20)]
91 FILESY = ['%d.zip' % n for n in xrange(5)]
93 self.assertListEquals (find_deleteable_files (FILESN + FILESY), FILESY)
95 ### RarslaveMessage tests
99 STR2 = "Goodbye, \nCruel World"
101 self.assertEquals (STR1, RarslaveMessage (STR1).__repr__())
102 self.assertEquals (STR1, RarslaveMessage (STR1, MessageType.Normal).__repr__())
103 self.assertEquals (STR2, RarslaveMessage (STR2, MessageType.Verbose).__repr__())
104 self.assertEquals (STR2, RarslaveMessage (STR2, MessageType.Debug).__repr__())
106 def testisVerboseMessage (self):
108 STR2 = "Goodbye, \nCruel World"
110 self.assertTrue (RarslaveMessage (STR1, MessageType.Verbose).isVerbose())
111 self.assertTrue (RarslaveMessage (STR2, MessageType.Verbose).isVerbose())
112 self.assertFalse (RarslaveMessage (STR1).isVerbose())
113 self.assertFalse (RarslaveMessage (STR2, MessageType.Debug).isVerbose())
114 self.assertFalse (RarslaveMessage (STR2, MessageType.Normal).isVerbose())
117 if __name__ == '__main__':