diff -r f4db69302508 Lib/test/test_cgitb.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Lib/test/test_cgitb.py Mon Mar 14 18:59:33 2011 -0400
@@ -0,0 +1,64 @@
+from test.support import run_unittest
+import unittest
+import sys
+import subprocess
+import cgitb
+
+class TestCgitb(unittest.TestCase):
+
+ def setUp(self):
+ self.textTests = [
+ "",
+ "abc",
+ "qwertyui123456 ##!@#",
+ "Hello Wordl!\n",
+ "1!\n765\n"]
+
+ def test_fonts(self):
+ for text in self.textTests:
+ if text:
+ self.assertEqual(cgitb.small(text),
+ "" + text + "")
+ self.assertEqual(cgitb.strong(text),
+ "" + text + "")
+ self.assertEqual(cgitb.grey(text),
+ '' + text + "")
+ else:
+ self.assertEqual(cgitb.small(text), '')
+ self.assertEqual(cgitb.strong(text), '')
+ self.assertEqual(cgitb.grey(text), '')
+
+ def test_html(self):
+ try:
+ raise ValueError("Hello World")
+ except ValueError as err:
+ self.assertIn('' +
+ '
ValueError' +
+ '', cgitb.html(sys.exc_info()))
+
+ def test_text(self):
+ try:
+ raise ValueError("Hello World")
+ except ValueError as err:
+ self.assertIn('ValueError: Hello World',
+ cgitb.text(sys.exc_info()))
+
+ def test_hook(self):
+ proc = subprocess.Popen([sys.executable, '-c', ('import cgitb;'
+ 'cgitb.enable();'
+ 'raise ValueError("Hello World")')],
+ stdout = subprocess.PIPE)
+ x = proc.stdout.read()
+ self.addCleanup(proc.stdout.close)
+ self.assertIn(b'' +
+ b'
ValueError' +
+ b'', x)
+
+
+
+
+def test_main():
+ run_unittest(TestCgitb)
+
+if __name__ == "__main__":
+ test_main()