]> granicus.if.org Git - python/commitdiff
Add tests for Unicode handling in distutils’ check and register (#13114)
authorÉric Araujo <merwok@netwok.org>
Sun, 9 Oct 2011 05:25:33 +0000 (07:25 +0200)
committerÉric Araujo <merwok@netwok.org>
Sun, 9 Oct 2011 05:25:33 +0000 (07:25 +0200)
Lib/distutils/tests/test_check.py
Lib/distutils/tests/test_register.py

index 229ae25c6da262aeaa60115e152865453636d1fb..4de64734c4c74bb84ec037f216d67e434969060a 100644 (file)
@@ -46,6 +46,15 @@ class CheckTestCase(support.LoggingSilencer,
         cmd = self._run(metadata, strict=1)
         self.assertEqual(cmd._warnings, 0)
 
+        # now a test with non-ASCII characters
+        metadata = {'url': 'xxx', 'author': '\u00c9ric',
+                    'author_email': 'xxx', 'name': 'xxx',
+                    'version': 'xxx',
+                    'description': 'Something about esszet \u00df',
+                    'long_description': 'More things about esszet \u00df'}
+        cmd = self._run(metadata)
+        self.assertEqual(cmd._warnings, 0)
+
     def test_check_document(self):
         if not HAS_DOCUTILS: # won't test without docutils
             return
@@ -80,8 +89,8 @@ class CheckTestCase(support.LoggingSilencer,
         self.assertRaises(DistutilsSetupError, self._run, metadata,
                           **{'strict': 1, 'restructuredtext': 1})
 
-        # and non-broken rest
-        metadata['long_description'] = 'title\n=====\n\ntest'
+        # and non-broken rest, including a non-ASCII character to test #12114
+        metadata['long_description'] = 'title\n=====\n\ntest \u00df'
         cmd = self._run(metadata, strict=1, restructuredtext=1)
         self.assertEqual(cmd._warnings, 0)
 
index cb72a115382b8a966416a3311ad8e25167f728f8..5863ae1422b6715eb08edbfad5c6db2b637904c3 100644 (file)
@@ -214,7 +214,7 @@ class RegisterTestCase(PyPIRCCommandTestCase):
 
         # metadata are OK but long_description is broken
         metadata = {'url': 'xxx', 'author': 'xxx',
-                    'author_email': 'xxx',
+                    'author_email': 'éxéxé',
                     'name': 'xxx', 'version': 'xxx',
                     'long_description': 'title\n==\n\ntext'}
 
@@ -247,6 +247,24 @@ class RegisterTestCase(PyPIRCCommandTestCase):
         finally:
             del register_module.input
 
+        # and finally a Unicode test (bug #12114)
+        metadata = {'url': 'xxx', 'author': '\u00c9ric',
+                    'author_email': 'xxx', 'name': 'xxx',
+                    'version': 'xxx',
+                    'description': 'Something about esszet \u00df',
+                    'long_description': 'More things about esszet \u00df'}
+
+        cmd = self._get_cmd(metadata)
+        cmd.ensure_finalized()
+        cmd.strict = 1
+        inputs = Inputs('1', 'tarek', 'y')
+        register_module.input = inputs.__call__
+        # let's run the command
+        try:
+            cmd.run()
+        finally:
+            del register_module.input
+
     def test_check_metadata_deprecated(self):
         # makes sure make_metadata is deprecated
         cmd = self._get_cmd()