X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=tests%2Ftest_regexes.py;h=bde17275acd2c2509a3107254cbfc977880abaad;hb=7c5adcf962fe99d6a42307595f263f47d0112fbc;hp=05ef8a6265cd2c95efdd6cecc3baeb3e77b20c43;hpb=c8d2f26e01fa323004946cdf398f84005d5d469f;p=dak.git diff --git a/tests/test_regexes.py b/tests/test_regexes.py index 05ef8a62..bde17275 100755 --- a/tests/test_regexes.py +++ b/tests/test_regexes.py @@ -1,13 +1,10 @@ #!/usr/bin/env python -import unittest - -import os, sys -sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from base_test import DakTestCase from daklib import regexes -class re_single_line_field(unittest.TestCase): +class re_single_line_field(DakTestCase): MATCH = regexes.re_single_line_field.match def testSimple(self): @@ -31,3 +28,53 @@ class re_single_line_field(unittest.TestCase): self.assertEqual(self.MATCH(': ::').groups(), ('', '::')) self.assertEqual(self.MATCH('Foo::bar').groups(), ('Foo', ':bar')) self.assertEqual(self.MATCH('Foo: :bar').groups(), ('Foo', ':bar')) + +class re_parse_lintian(DakTestCase): + MATCH = regexes.re_parse_lintian.match + + def testBinary(self): + self.assertEqual( + self.MATCH('W: pkgname: some-tag path/to/file').groupdict(), + { + 'level': 'W', + 'package': 'pkgname', + 'tag': 'some-tag', + 'description': 'path/to/file', + } + ) + + def testBinaryNoDescription(self): + self.assertEqual( + self.MATCH('W: pkgname: some-tag').groupdict(), + { + 'level': 'W', + 'package': 'pkgname', + 'tag': 'some-tag', + 'description': '', + } + ) + + def testSource(self): + self.assertEqual( + self.MATCH('W: pkgname source: some-tag').groupdict(), + { + 'level': 'W', + 'package': 'pkgname source', + 'tag': 'some-tag', + 'description': '', + } + ) + + def testSourceNoDescription(self): + self.assertEqual( + self.MATCH('W: pkgname source: some-tag path/to/file').groupdict(), + { + 'level': 'W', + 'package': 'pkgname source', + 'tag': 'some-tag', + 'description': 'path/to/file', + } + ) + +if __name__ == '__main__': + unittest.main()