Add a few tests for pydoc.
This is a modified version of a patch proposed by Humberto Diogenes
in the discussion of issue1883.
I will merge manually this change into the py3k branch: the tests must be adapted.
diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py
new file mode 100644
index 0000000..8f0dc73
--- /dev/null
+++ b/Lib/test/test_pydoc.py
@@ -0,0 +1,33 @@
+from test import test_support
+import unittest
+import pydoc
+
+class TestDescriptions(unittest.TestCase):
+ def test_module(self):
+ # Check that pydocfodder module can be described
+ import pydocfodder
+ doc = pydoc.render_doc(pydocfodder)
+ assert "pydocfodder" in doc
+
+ def test_classic_class(self):
+ class C: "Classic class"
+ c = C()
+ self.failUnlessEqual(pydoc.describe(C), 'class C')
+ self.failUnlessEqual(pydoc.describe(c), 'instance of C')
+ self.failUnless('instance of C in module test.test_pydoc'
+ in pydoc.render_doc(c))
+
+ def test_class(self):
+ class C(object): "New-style class"
+ c = C()
+
+ self.failUnlessEqual(pydoc.describe(C), 'class C')
+ self.failUnlessEqual(pydoc.describe(c), 'C')
+ self.failUnless('C in module test.test_pydoc object'
+ in pydoc.render_doc(c))
+
+def test_main():
+ test_support.run_unittest(TestDescriptions)
+
+if __name__ == "__main__":
+ unittest.main()