diff options
author | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-12-06 09:22:40 (GMT) |
---|---|---|
committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-12-06 09:22:40 (GMT) |
commit | 4f38317d5a5665aef199fd30870d14f3cc48ba9c (patch) | |
tree | c42ed6efd62ad45ccc3ba1be2972c5290fbd357d /Lib | |
parent | 3513c87a21d9b413d5fa8c7694be8538aab7eddb (diff) | |
download | cpython-4f38317d5a5665aef199fd30870d14f3cc48ba9c.zip cpython-4f38317d5a5665aef199fd30870d14f3cc48ba9c.tar.gz cpython-4f38317d5a5665aef199fd30870d14f3cc48ba9c.tar.bz2 |
Fixed #1923: make sure we don't strip meaningful whitespace in PKG-INFO Description field
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/distutils/tests/test_dist.py | 16 | ||||
-rw-r--r-- | Lib/distutils/util.py | 4 |
2 files changed, 18 insertions, 2 deletions
diff --git a/Lib/distutils/tests/test_dist.py b/Lib/distutils/tests/test_dist.py index 573d0b9..8b141ca 100644 --- a/Lib/distutils/tests/test_dist.py +++ b/Lib/distutils/tests/test_dist.py @@ -6,6 +6,7 @@ import StringIO import sys import unittest import warnings +import textwrap from distutils.dist import Distribution, fix_help_options from distutils.cmd import Command @@ -381,6 +382,21 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard, if line.strip() != ''] self.assertTrue(len(output) > 0) + def test_long_description(self): + long_desc = textwrap.dedent("""\ + example:: + We start here + and continue here + and end here.""") + attrs = {"name": "package", + "version": "1.0", + "long_description": long_desc} + + dist = distutils.dist.Distribution(attrs) + meta = self.format_metadata(dist) + meta = meta.replace('\n' + 8 * ' ', '\n') + self.assertTrue(long_desc in meta) + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(DistributionTestCase)) diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index 6bff44f..b8e4952 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -558,8 +558,8 @@ def rfc822_escape(header): """Return a version of the string escaped for inclusion in an RFC-822 header, by ensuring there are 8 spaces space after each newline. """ - lines = [x.strip() for x in header.split('\n')] - sep = '\n' + 8*' ' + lines = header.split('\n') + sep = '\n' + 8 * ' ' return sep.join(lines) _RE_VERSION = re.compile('(\d+\.\d+(\.\d+)*)') |