6 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
8 from daklib.formats import parse_format, validate_changes_format
9 from daklib.dak_exceptions import UnknownFormatError
11 class ParseFormatTestCase(unittest.TestCase):
12 def assertParse(self, format, expected):
13 self.assertEqual(parse_format(format), expected)
15 def assertParseFail(self, format):
18 lambda: parse_format(format)
22 self.assertParse('1.0', (1, 0))
25 self.assertParseFail('')
26 self.assertParseFail(' ')
27 self.assertParseFail(' ')
30 self.assertParse('1.2 (three)', (1, 2, 'three'))
31 self.assertParseFail('0.0 ()')
33 class ValidateChangesFormat(unittest.TestCase):
34 def assertValid(self, changes, field='files'):
35 validate_changes_format(changes, field)
37 def assertInvalid(self, *args, **kwargs):
40 lambda: self.assertValid(*args, **kwargs)
46 self.assertValid((1, 5))
47 self.assertValid((1, 8))
48 self.assertInvalid((1, 0))
51 self.assertInvalid((1, 3))
52 self.assertValid((1, 5))
53 self.assertValid((1, 8))
54 self.assertInvalid((1, 9))
56 def testFilesField(self):
57 self.assertInvalid((1, 7), field='notfiles')
58 self.assertValid((1, 8), field='notfiles')