diff options
author | Fred Drake <fdrake@acm.org> | 2002-04-02 05:08:35 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2002-04-02 05:08:35 (GMT) |
commit | aee113d368ebad8a51386baa7c0aec056aca94d5 (patch) | |
tree | 9a81e154b2772284d823cd0df3f966faa59a93e2 /Lib/test/test_pprint.py | |
parent | 4993c51b9436bc28126659519c362558fdcdd0d7 (diff) | |
download | cpython-aee113d368ebad8a51386baa7c0aec056aca94d5.zip cpython-aee113d368ebad8a51386baa7c0aec056aca94d5.tar.gz cpython-aee113d368ebad8a51386baa7c0aec056aca94d5.tar.bz2 |
Add an experimental mechanism to support extending the pprint formatting.
Partly responds to SF bug #505152.
Diffstat (limited to 'Lib/test/test_pprint.py')
-rw-r--r-- | Lib/test/test_pprint.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/test/test_pprint.py b/Lib/test/test_pprint.py index 14626fb..d5e10aa 100644 --- a/Lib/test/test_pprint.py +++ b/Lib/test/test_pprint.py @@ -96,6 +96,27 @@ class QueryTestCase(unittest.TestCase): 'write_io_runtime_us': 43690}""" 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) |