[Python-checkins] CVS: python/dist/src/Lib/test test_pprint.py,1.7,1.8
Fred L. Drake
fdrake@users.sourceforge.net
Mon, 01 Apr 2002 21:08:38 -0800
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv16772/Lib/test
Modified Files:
test_pprint.py
Log Message:
Add an experimental mechanism to support extending the pprint formatting.
Partly responds to SF bug #505152.
Index: test_pprint.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_pprint.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** test_pprint.py 28 Nov 2001 05:49:39 -0000 1.7
--- test_pprint.py 2 Apr 2002 05:08:35 -0000 1.8
***************
*** 97,100 ****
--- 97,121 ----
self.assertEqual(pprint.pformat(o), exp)
+ def test_subclassing(self):
+ o = {'names with spaces': 'should be presented using repr()',
+ 'others.should.not.be': 'like.this'}
+ exp = """\
+ {'names with spaces': 'should be presented using repr()',
+ others.should.not.be: like.this}"""
+ self.assertEqual(DottedPrettyPrinter().pformat(o), exp)
+
+
+ class DottedPrettyPrinter(pprint.PrettyPrinter):
+ def format(self, object, context, maxlevels, level):
+ if isinstance(object, str):
+ if ' ' in object:
+ return `object`, 1, 0
+ else:
+ return object, 0, 0
+ else:
+ return pprint.PrettyPrinter.format(
+ self, object, context, maxlevels, level)
+
+
def test_main():
test_support.run_unittest(QueryTestCase)