Adjust libbe.diff.DiffTree to fix failed doctest.
authorW. Trevor King <wking@drexel.edu>
Sat, 5 Dec 2009 13:08:09 +0000 (08:08 -0500)
committerW. Trevor King <wking@drexel.edu>
Sat, 5 Dec 2009 13:08:09 +0000 (08:08 -0500)
======================================================================
FAIL: Doctest: libbe.diff.DiffTree
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.5/doctest.py", line 2128, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for libbe.diff.DiffTree
  File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 136, in DiffTree

----------------------------------------------------------------------
File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 172, in libbe.diff.DiffTree
Failed example:
    print bugdir.report_string()
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib/python2.5/doctest.py", line 1228, in __run
        compileflags, 1) in test.globs
      File "<doctest libbe.diff.DiffTree[18]>", line 1, in <module>
        print bugdir.report_string()
      File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 213, in report_string
        return "\n".join(self.report())
    TypeError

libbe/diff.py

index 46b8bda29f116a37fe74727b51413044d17f5bcb..b3cd6bc8a1c9191d44a3f2f019abfc00dde7d5ea 100644 (file)
@@ -210,12 +210,15 @@ class DiffTree (tree.Tree):
             raise KeyError, "%s doesn't match '%s'" % (names, self.name)
         raise KeyError, "%s points to child not in %s" % (names, [c.name for c in self])
     def report_string(self):
-        return "\n".join(self.report())
+        report = self.report()
+        if report == None:
+            return ''
+        return '\n'.join(report)
     def report(self, root=None, parent=None, depth=0):
         if root == None:
             root = self.make_root()
         if self.masked == True:
-            return None
+            return root
         data_part = self.data_part(depth)
         if self.requires_children == True \
                 and len([c for c in self if c.masked == False]) == 0: