Fix an endcase bug: initial_indent was ignored when the text was short
enough to fit in one line.
This commit is contained in:
parent
fb4d6ecd07
commit
eb287a2662
|
@ -33,11 +33,11 @@ class BaseTestCase(unittest.TestCase):
|
|||
'expected:\n%s\nbut got:\n%s' % (
|
||||
self.show(expect), self.show(result)))
|
||||
|
||||
def check_wrap (self, text, width, expect):
|
||||
result = wrap(text, width)
|
||||
def check_wrap(self, text, width, expect, **kwargs):
|
||||
result = wrap(text, width, **kwargs)
|
||||
self.check(result, expect)
|
||||
|
||||
def check_split (self, wrapper, text, expect):
|
||||
def check_split(self, wrapper, text, expect):
|
||||
result = wrapper._split(text)
|
||||
self.assertEquals(result, expect,
|
||||
"\nexpected %r\n"
|
||||
|
@ -101,6 +101,16 @@ What a mess!
|
|||
self.check_wrap(text, 40, ["This is a short paragraph."])
|
||||
|
||||
|
||||
def test_wrap_short_1line(self):
|
||||
# Test endcases
|
||||
|
||||
text = "This is a short line."
|
||||
|
||||
self.check_wrap(text, 30, ["This is a short line."])
|
||||
self.check_wrap(text, 30, ["(1) This is a short line."],
|
||||
initial_indent="(1) ")
|
||||
|
||||
|
||||
def test_hyphenated(self):
|
||||
# Test breaking hyphenated words
|
||||
|
||||
|
|
|
@ -237,8 +237,9 @@ class TextWrapper:
|
|||
converted to space.
|
||||
"""
|
||||
text = self._munge_whitespace(text)
|
||||
if len(text) <= self.width:
|
||||
return [text]
|
||||
indent = self.initial_indent
|
||||
if len(text) + len(indent) <= self.width:
|
||||
return [indent + text]
|
||||
chunks = self._split(text)
|
||||
if self.fix_sentence_endings:
|
||||
self._fix_sentence_endings(chunks)
|
||||
|
|
Loading…
Reference in New Issue