Add tests for trac HTML parsing.
authorJelmer Vernooij <jelmer@samba.org>
Fri, 20 Jun 2008 15:09:29 +0000 (17:09 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 20 Jun 2008 15:09:29 +0000 (17:09 +0200)
remote/tests/test_trac.py
remote/trac.py

index 57391d103562589b2701bee9967ddafcec3cbd4c..2aa417210ba939bc6f85f7d2a34afff2d13c953e 100644 (file)
@@ -51,3 +51,22 @@ class TestTracTicket(TestCase):
         self.assertEquals(ticket.status, "closed")
         self.assertEquals(ticket.priority, "normal")
 
+    def test_fromhtml(self):
+        ticket = self.parse("""
+        <html><body>
+        <span class="status"><strong>(closed fixed)<strong></span>
+        </body></html>
+""")
+        self.assertEquals("closed", ticket.status)
+        self.assertEquals("fixed", ticket.resolution)
+
+
+    def test_fromhtml_noresolution(self):
+        ticket = self.parse("""
+        <html><body>
+        <span class="status"><strong>open<strong></span>
+        </body></html>
+""")
+        self.assertEquals("open", ticket.status)
+        self.assertEquals(None, ticket.resolution)
+
index f8afe6d2a0c0c30954b6686fa8a05aaf72a59065..b868c0fedb3ff78a2062b22f059c0f8931c8aa49 100644 (file)
@@ -74,7 +74,7 @@ class TracTicket:
 
     def _process_status(self, text):
         words = text.split()
-        assert len(words) in (1, 2)
+        assert len(words) in (1, 2), "invalid status/resolution: %r" % words
         if len(words) == 1:
             return text, None
         else: