(original) (raw)
changeset: 72927:d5fb646e7ce1 parent: 72847:f924e0f62bcb user: Éric Araujo merwok@netwok.org date: Tue Oct 11 02🔞12 2011 +0200 files: Lib/packaging/tests/test_command_check.py Lib/packaging/tests/test_command_register.py description: Add tests for Unicode handling in packaging’ check and register (#13114) diff -r f924e0f62bcb -r d5fb646e7ce1 Lib/packaging/tests/test_command_check.py --- a/Lib/packaging/tests/test_command_check.py Mon Oct 10 03:21:36 2011 +0200 +++ b/Lib/packaging/tests/test_command_check.py Tue Oct 11 02🔞12 2011 +0200 @@ -56,6 +56,15 @@ cmd = self._run(metadata, strict=True) self.assertEqual([], self.get_logs(logging.WARNING)) + # now a test with non-ASCII characters + metadata = {'home_page': 'xxx', 'author': '\u00c9ric', + 'author_email': 'xxx', 'name': 'xxx', + 'version': '1.2', + 'summary': 'Something about esszet \u00df', + 'description': 'More things about esszet \u00df'} + cmd = self._run(metadata) + self.assertEqual([], self.get_logs(logging.WARNING)) + def test_check_metadata_1_2(self): # let's run the command with no metadata at all # by default, check is checking the metadata @@ -95,14 +104,26 @@ @unittest.skipUnless(_HAS_DOCUTILS, "requires docutils") def test_check_restructuredtext(self): - # let's see if it detects broken rest in long_description + # let's see if it detects broken rest in description broken_rest = 'title\n===\n\ntest' pkg_info, dist = self.create_dist(description=broken_rest) cmd = check(dist) cmd.check_restructuredtext() self.assertEqual(len(self.get_logs(logging.WARNING)), 1) + # clear warnings from the previous call + self.loghandler.flush() - pkg_info, dist = self.create_dist(description='title\n=====\n\ntest') + # let's see if we have an error with strict=1 + metadata = {'home_page': 'xxx', 'author': 'xxx', + 'author_email': 'xxx', + 'name': 'xxx', 'version': '1.2', + 'description': broken_rest} + self.assertRaises(PackagingSetupError, self._run, metadata, + strict=True, all=True) + self.loghandler.flush() + + # and non-broken rest, including a non-ASCII character to test #12114 + dist = self.create_dist(description='title\n=====\n\ntest \u00df')[1] cmd = check(dist) cmd.check_restructuredtext() self.assertEqual([], self.get_logs(logging.WARNING)) diff -r f924e0f62bcb -r d5fb646e7ce1 Lib/packaging/tests/test_command_register.py --- a/Lib/packaging/tests/test_command_register.py Mon Oct 10 03:21:36 2011 +0200 +++ b/Lib/packaging/tests/test_command_register.py Tue Oct 11 02🔞12 2011 +0200 @@ -200,12 +200,10 @@ @unittest.skipUnless(DOCUTILS_SUPPORT, 'needs docutils') def test_strict(self): - # testing the script option - # when on, the register command stops if - # the metadata is incomplete or if - # long_description is not reSt compliant + # testing the strict option: when on, the register command stops if the + # metadata is incomplete or if description contains bad reST - # empty metadata + # empty metadata # XXX this is not really empty.. cmd = self._get_cmd({'name': 'xxx', 'version': 'xxx'}) cmd.ensure_finalized() cmd.strict = True @@ -213,16 +211,15 @@ register_module.input = inputs self.assertRaises(PackagingSetupError, cmd.run) - # metadata is OK but long_description is broken + # metadata is OK but description is broken metadata = {'home_page': 'xxx', 'author': 'xxx', 'author_email': 'éxéxé', - 'name': 'xxx', 'version': 'xxx', + 'name': 'xxx', 'version': '4.2', 'description': 'title\n==\n\ntext'} cmd = self._get_cmd(metadata) cmd.ensure_finalized() cmd.strict = True - self.assertRaises(PackagingSetupError, cmd.run) # now something that works @@ -243,6 +240,21 @@ cmd.ensure_finalized() cmd.run() + # and finally a Unicode test (bug #12114) + metadata = {'home_page': 'xxx', 'author': '\u00c9ric', + 'author_email': 'xxx', 'name': 'xxx', + 'version': 'xxx', + 'summary': 'Something about esszet \u00df', + 'description': 'More things about esszet \u00df'} + + cmd = self._get_cmd(metadata) + cmd.ensure_finalized() + cmd.strict = True + inputs = Inputs('1', 'tarek', 'y') + register_module.input = inputs + cmd.ensure_finalized() + cmd.run() + def test_register_pep345(self): cmd = self._get_cmd({}) cmd.ensure_finalized() /merwok@netwok.org