Merged revisions 74704 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74704 | mark.dickinson | 2009-09-07 17:17:41 +0100 (Mon, 07 Sep 2009) | 3 lines
Issue #6850: Fix bug in Decimal._parse_format_specifier for formats
with no type specifier.
........
diff --git a/Lib/decimal.py b/Lib/decimal.py
index 7c90f0a..4108fb8 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -5447,7 +5447,7 @@
# if format type is 'g' or 'G' then a precision of 0 makes little
# sense; convert it to 1. Same if format type is unspecified.
if format_dict['precision'] == 0:
- if format_dict['type'] in 'gG' or format_dict['type'] is None:
+ if format_dict['type'] is None or format_dict['type'] in 'gG':
format_dict['precision'] = 1
# record whether return type should be str or unicode
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index e82a9b9..79b6a85 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -716,6 +716,9 @@
('>6', '123', ' 123'),
('^6', '123', ' 123 '),
('=+6', '123', '+ 123'),
+
+ # issue 6850
+ ('a=-7.0', '0.12345', 'aaaa0.1'),
]
for fmt, d, result in test_values:
self.assertEqual(format(Decimal(d), fmt), result)