Show More
@@ -229,7 +229,17 b' class PrettyPrinter(_PrettyPrinterBase):' | |||
|
229 | 229 | self.buffer.append(Breakable(sep, width, self)) |
|
230 | 230 | self.buffer_width += width |
|
231 | 231 | self._break_outer_groups() |
|
232 | ||
|
232 | ||
|
233 | def break_(self): | |
|
234 | """ | |
|
235 | Explicitly insert a newline into the output, maintaining correct indentation. | |
|
236 | """ | |
|
237 | self.flush() | |
|
238 | self.output.write(self.newline) | |
|
239 | self.output.write(' ' * self.indentation) | |
|
240 | self.output_width = self.indentation | |
|
241 | self.buffer_width = 0 | |
|
242 | ||
|
233 | 243 | |
|
234 | 244 | def begin_group(self, indent=0, open=''): |
|
235 | 245 | """ |
@@ -58,6 +58,13 b' class NoModule(object):' | |||
|
58 | 58 | |
|
59 | 59 | NoModule.__module__ = None |
|
60 | 60 | |
|
61 | class Breaking(object): | |
|
62 | def _repr_pretty_(self, p, cycle): | |
|
63 | with p.group(4,"TG: ",":"): | |
|
64 | p.text("Breaking(") | |
|
65 | p.break_() | |
|
66 | p.text(")") | |
|
67 | ||
|
61 | 68 | |
|
62 | 69 | def test_indentation(): |
|
63 | 70 | """Test correct indentation in groups""" |
@@ -118,3 +125,11 b' def test_pprint_nomod():' | |||
|
118 | 125 | """ |
|
119 | 126 | output = pretty.pretty(NoModule) |
|
120 | 127 | nt.assert_equal(output, 'NoModule') |
|
128 | ||
|
129 | def test_pprint_break(): | |
|
130 | """ | |
|
131 | Test that p.break_ produces expected output | |
|
132 | """ | |
|
133 | output = pretty.pretty(Breaking()) | |
|
134 | expected = "TG: Breaking(\n ):" | |
|
135 | nt.assert_equal(output, expected) |
General Comments 0
You need to be logged in to leave comments.
Login now