Add basics tests for Launchpad parsing.
authorJelmer Vernooij <jelmer@samba.org>
Fri, 20 Jun 2008 14:09:04 +0000 (16:09 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 20 Jun 2008 14:09:04 +0000 (16:09 +0200)
remote/tests/__init__.py [new file with mode: 0644]
remote/tests/test_launchpad.py [new file with mode: 0644]

diff --git a/remote/tests/__init__.py b/remote/tests/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/remote/tests/test_launchpad.py b/remote/tests/test_launchpad.py
new file mode 100644 (file)
index 0000000..1f950bf
--- /dev/null
@@ -0,0 +1,49 @@
+# vim:set encoding=utf-8:
+###############################################################################
+# Copyright:
+#   © 2008 Jelmer Vernooij <jelmer@samba.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The names of its contributors may not be used to endorse or promote
+#    products derived from this software without specific prior written
+#    permission.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
+# EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+###############################################################################
+
+from cStringIO import StringIO
+from remote.launchpad import LaunchpadBug
+from remote import *
+from unittest import TestCase
+
+
+class TestLaunchpadBug(TestCase):
+    def parse(self, text):
+        return LaunchpadBug(StringIO(text))
+
+    def test_id(self):
+        bug = self.parse("""bug: 42
+""")
+        self.assertEquals(42, bug.id)
+
+    def test_dupe(self):
+        bug = self.parse("""bug: 42
+duplicate-of: http://foo.com/43
+""")
+        self.assertEquals("http://foo.com/43", bug.duplicate_of)