summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_locale.py
diff options
context:
space:
mode:
authorR. David Murray <rdmurray@bitdance.com>2009-04-01 03:42:00 (GMT)
committerR. David Murray <rdmurray@bitdance.com>2009-04-01 03:42:00 (GMT)
commite59482ec9a44a9cf8c5e066c340dc9ed78399712 (patch)
tree759f586e67351e2055cfcccf58f4537ace2cff0c /Lib/test/test_locale.py
parent12e533d7bfd37737a8cf17150ee219f8e3a91b80 (diff)
downloadcpython-e59482ec9a44a9cf8c5e066c340dc9ed78399712.zip
cpython-e59482ec9a44a9cf8c5e066c340dc9ed78399712.tar.gz
cpython-e59482ec9a44a9cf8c5e066c340dc9ed78399712.tar.bz2
Merged revisions 70936 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r70936 | r.david.murray | 2009-03-31 23:21:43 -0400 (Tue, 31 Mar 2009) | 4 lines Fix issue 2522. locale.format now checks that it is passed exactly one pattern, which avoids mysterious errors where it had seemed to fail to do localization. ........
Diffstat (limited to 'Lib/test/test_locale.py')
-rw-r--r--Lib/test/test_locale.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index c77dc55..65639ad 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -219,6 +219,19 @@ class EnUSNumberFormatting(BaseFormattingTest):
(self.sep, self.sep))
+class TestFormatPatternArg(unittest.TestCase):
+ # Test handling of pattern argument of format
+
+ def test_onlyOnePattern(self):
+ # Issue 2522: accept exactly one % pattern, and no extra chars.
+ self.assertRaises(ValueError, locale.format, "%f\n", 'foo')
+ self.assertRaises(ValueError, locale.format, "%f\r", 'foo')
+ self.assertRaises(ValueError, locale.format, "%f\r\n", 'foo')
+ self.assertRaises(ValueError, locale.format, " %f", 'foo')
+ self.assertRaises(ValueError, locale.format, "%fg", 'foo')
+ self.assertRaises(ValueError, locale.format, "%^g", 'foo')
+
+
class TestNumberFormatting(BaseLocalizedTest, EnUSNumberFormatting):
# Test number formatting with a real English locale.
@@ -314,6 +327,7 @@ class TestMiscellaneous(unittest.TestCase):
def test_main():
tests = [
TestMiscellaneous,
+ TestFormatPatternArg,
TestEnUSNumberFormatting,
TestCNumberFormatting,
TestFrFRNumberFormatting,