]> git.decadent.org.uk Git - dak.git/commitdiff
Merge commit 'lamby/master' into merge
authorJoerg Jaspert <joerg@debian.org>
Sun, 9 Aug 2009 12:12:00 +0000 (14:12 +0200)
committerJoerg Jaspert <joerg@debian.org>
Sun, 9 Aug 2009 12:12:00 +0000 (14:12 +0200)
* commit 'lamby/master':
  Add some simple regression tests for regexes.re_single_line_field
  Add a basic test runner.

Signed-off-by: Joerg Jaspert <joerg@debian.org>
tests/test_all.py [new file with mode: 0755]
tests/test_regexes.py [new file with mode: 0755]

diff --git a/tests/test_all.py b/tests/test_all.py
new file mode 100755 (executable)
index 0000000..32e58ab
--- /dev/null
@@ -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 (executable)
index 0000000..7c43d09
--- /dev/null
@@ -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'))