diff options
| author | Barry Warsaw | 2015-12-29 17:23:54 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2015-12-29 17:23:54 -0500 |
| commit | 1602cecded07961585838a31758147e76584e957 (patch) | |
| tree | 4e55d423f88424edabfc52eaa8c17357d57b296e /src/mailman/utilities | |
| parent | 39fd2905cc34221ca2907f14f3f018190a3f62c5 (diff) | |
| download | mailman-1602cecded07961585838a31758147e76584e957.tar.gz mailman-1602cecded07961585838a31758147e76584e957.tar.zst mailman-1602cecded07961585838a31758147e76584e957.zip | |
Diffstat (limited to 'src/mailman/utilities')
| -rw-r--r-- | src/mailman/utilities/modules.py | 2 | ||||
| -rw-r--r-- | src/mailman/utilities/string.py | 8 | ||||
| -rw-r--r-- | src/mailman/utilities/tests/test_import.py | 10 | ||||
| -rw-r--r-- | src/mailman/utilities/tests/test_string.py | 36 |
4 files changed, 49 insertions, 7 deletions
diff --git a/src/mailman/utilities/modules.py b/src/mailman/utilities/modules.py index 7fb695afe..35b9a752b 100644 --- a/src/mailman/utilities/modules.py +++ b/src/mailman/utilities/modules.py @@ -78,7 +78,7 @@ def scan_module(module, interface): for name in module.__all__: component = getattr(module, name, missing) assert component is not missing, ( - '%s has bad __all__: %s' % (module, name)) + '%s has bad __all__: %s' % (module, name)) # pragma: no cover if interface.implementedBy(component): yield component diff --git a/src/mailman/utilities/string.py b/src/mailman/utilities/string.py index 478fd6574..4e7e5c0ad 100644 --- a/src/mailman/utilities/string.py +++ b/src/mailman/utilities/string.py @@ -117,8 +117,10 @@ def wrap(text, column=70, honor_leading_ws=True): # This line does not constitute a paragraph break. paragraph.append(line) # We've consumed all the lines in the original text. Transfer the last - # paragraph we were collecting to the full set of paragraphs. - paragraphs.append(EMPTYSTRING.join(paragraph)) + # paragraph we were collecting to the full set of paragraphs, but only if + # it's not empty. + if len(paragraph) > 0: + paragraphs.append(EMPTYSTRING.join(paragraph)) # Now iterate through all paragraphs, wrapping as necessary. wrapped_paragraphs = [] # The dedented wrapper. @@ -150,7 +152,7 @@ def wrap(text, column=70, honor_leading_ws=True): # dedented. The leading whitespace on the first line of the # original text will be used as the indentation for all lines # in the wrapped text. - for i, ch in enumerate(paragraph_text): + for i, ch in enumerate(paragraph_text): # pragma: no branch if ch not in whitespace: break leading_ws = paragraph[:i] diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py index e687e8a00..d83e42bc8 100644 --- a/src/mailman/utilities/tests/test_import.py +++ b/src/mailman/utilities/tests/test_import.py @@ -52,7 +52,8 @@ from mailman.interfaces.usermanager import IUserManager from mailman.testing.helpers import LogFileMark from mailman.testing.layers import ConfigLayer from mailman.utilities.filesystem import makedirs -from mailman.utilities.importer import import_config_pck, Import21Error +from mailman.utilities.importer import ( + Import21Error, check_language_code, import_config_pck) from mailman.utilities.string import expand from pickle import load from pkg_resources import resource_filename @@ -294,7 +295,7 @@ class TestBasicImport(unittest.TestCase): except Import21Error as error: # Check the message. self.assertIn('[language.xx_XX]', str(error)) - else: # pragma: no cover + else: self.fail('Import21Error was not raised') def test_encode_ascii_prefixes(self): @@ -865,7 +866,7 @@ class TestRosterImport(unittest.TestCase): import_config_pck(self._mlist, self._pckdict) except Import21Error as error: self.assertIn('[language.xx_XX]', str(error)) - else: # pragma: no cover + else: self.fail('Import21Error was not raised') def test_username(self): @@ -1136,3 +1137,6 @@ class TestPreferencesImport(unittest.TestCase): receive_list_copy=False, delivery_mode=DeliveryMode.plaintext_digests, )) + + def test_language_code_none(self): + self.assertIsNone(check_language_code(None)) diff --git a/src/mailman/utilities/tests/test_string.py b/src/mailman/utilities/tests/test_string.py new file mode 100644 index 000000000..dbbc28754 --- /dev/null +++ b/src/mailman/utilities/tests/test_string.py @@ -0,0 +1,36 @@ +# Copyright (C) 2015 by the Free Software Foundation, Inc. +# +# This file is part of GNU Mailman. +# +# GNU Mailman is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# GNU Mailman. If not, see <http://www.gnu.org/licenses/>. + +"""Test the string utilities.""" + +__all__ = [ + 'TestString', + ] + + +import unittest + +from mailman.utilities import string + + + +class TestString(unittest.TestCase): + def test_oneline_bogus_charset(self): + self.assertEqual(string.oneline('foo', 'bogus'), 'foo') + + def test_wrap_blank_paragraph(self): + self.assertEqual(string.wrap('\n\n'), '\n\n') |
