__format(): Applied SF patch #482003 by Skip to fix multiline dict

output.

Patch includes additional test case test_basic_line_wrap().

This patch is a candidate for Python 2.1.2.
This commit is contained in:
Barry Warsaw 2001-11-28 05:49:39 +00:00
parent 3072ecdcd2
commit 00859c0538
2 changed files with 20 additions and 1 deletions

View File

@ -158,7 +158,7 @@ class PrettyPrinter:
if length > 1:
for key, ent in items[1:]:
rep = self.__repr(key, context, level)
write(',\n%s: %s' % (' '*indent, rep))
write(',\n%s%s: ' % (' '*indent, rep))
self.__format(ent, stream, indent + _len(rep) + 2,
allowance + 1, context, level)
indent = indent - self.__indent_per_level

View File

@ -77,6 +77,25 @@ class QueryTestCase(unittest.TestCase):
(native, got, function))
def test_basic_line_wrap(self):
"""verify basic line-wrapping operation"""
o = {'RPM_cal': 0,
'RPM_cal2': 48059,
'Speed_cal': 0,
'controldesk_runtime_us': 0,
'main_code_runtime_us': 0,
'read_io_runtime_us': 0,
'write_io_runtime_us': 43690}
exp = """\
{'RPM_cal': 0,
'RPM_cal2': 48059,
'Speed_cal': 0,
'controldesk_runtime_us': 0,
'main_code_runtime_us': 0,
'read_io_runtime_us': 0,
'write_io_runtime_us': 43690}"""
self.assertEqual(pprint.pformat(o), exp)
def test_main():
test_support.run_unittest(QueryTestCase)