From: Joerg Jaspert Date: Sun, 9 Aug 2009 12:12:00 +0000 (+0200) Subject: Merge commit 'lamby/master' into merge X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=01d79805a3f00bf6d980ce79e4f0bfa5fb2efdd9;hp=9106ee03bf5798bf409c21b0ac7119fdb0485292;p=dak.git Merge commit 'lamby/master' into merge * commit 'lamby/master': Add some simple regression tests for regexes.re_single_line_field Add a basic test runner. Signed-off-by: Joerg Jaspert --- diff --git a/tests/test_all.py b/tests/test_all.py new file mode 100755 index 00000000..32e58aba --- /dev/null +++ b/tests/test_all.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import os +import unittest + +def suite(): + suite = unittest.TestSuite() + for _, _, files in os.walk('.'): + for name in filter(is_test, files): + tests = unittest.defaultTestLoader.loadTestsFromName(name[:-3]) + suite.addTests(tests) + return suite + +def is_test(filename): + return filename.startswith('test_') and filename.endswith('.py') + +if __name__ == "__main__": + unittest.main(defaultTest="suite") diff --git a/tests/test_regexes.py b/tests/test_regexes.py new file mode 100755 index 00000000..7c43d097 --- /dev/null +++ b/tests/test_regexes.py @@ -0,0 +1,31 @@ +import unittest + +import os, sys +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from daklib import regexes + +class re_single_line_field(unittest.TestCase): + MATCH = regexes.re_single_line_field.match + + def testSimple(self): + self.assertEqual(self.MATCH('Foo: bar').groups(), ('Foo', 'bar')) + + def testLeadingWhitespace(self): + self.assertEqual(self.MATCH(' Foo: bar'), None) + + def testTrailingWhitespace(self): + self.assertEqual(self.MATCH('Foo: bar \n').groups(), ('Foo', 'bar ')) + + def testMiddleWhitespace(self): + self.assertEqual(self.MATCH('Foo: bar').groups(), ('Foo', 'bar')) + self.assertEqual(self.MATCH('Foo : bar').groups(), ('Foo', 'bar')) + self.assertEqual(self.MATCH('Foo \n:\n bar').groups(), ('Foo', 'bar')) + self.assertEqual(self.MATCH('Foo:bar').groups(), ('Foo', 'bar')) + + def testColons(self): + self.assertEqual(self.MATCH('Foo: :').groups(), ('Foo', ':')) + self.assertEqual(self.MATCH('Foo: ::').groups(), ('Foo', '::')) + self.assertEqual(self.MATCH(': ::').groups(), ('', '::')) + self.assertEqual(self.MATCH('Foo::bar').groups(), ('Foo', ':bar')) + self.assertEqual(self.MATCH('Foo: :bar').groups(), ('Foo', ':bar'))