diff --git a/Lib/test/test_textwrap.py b/Lib/test/test_textwrap.py index fc5d0cc2024..2a6d67a50d1 100644 --- a/Lib/test/test_textwrap.py +++ b/Lib/test/test_textwrap.py @@ -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 diff --git a/Lib/textwrap.py b/Lib/textwrap.py index f5d19157110..ff5f7efaa9b 100644 --- a/Lib/textwrap.py +++ b/Lib/textwrap.py @@ -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)