bpo-10379: add 'monetary' to format_string, deprecate format
Add the 'monetary' parameter to format_string so that all
uses of format can be converted to format_string. Adjust
the documentation accordingly, and add a deprecation
warning when format is used.
diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index 99fab58..06d2866 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -3,6 +3,7 @@
import locale
import sys
import codecs
+import warnings
class BaseLocalizedTest(unittest.TestCase):
#
@@ -197,6 +198,10 @@
self._test_format("%+10.f", -4200, grouping=0, out='-4200'.rjust(10))
self._test_format("%-10.f", 4200, grouping=0, out='4200'.ljust(10))
+ def test_format_deprecation(self):
+ with self.assertWarns(DeprecationWarning):
+ locale.format("%-10.f", 4200, grouping=True)
+
def test_complex_formatting(self):
# Spaces in formatting string
self._test_format_string("One million is %i", 1000000, grouping=1,
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index 4a9fcba..67d3281 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -381,8 +381,8 @@
for i in range(-10, 10):
x = 1234567890.0 * (10.0 ** i)
- self.assertEqual(locale.format('%g', x, grouping=True), format(x, 'n'))
- self.assertEqual(locale.format('%.10g', x, grouping=True), format(x, '.10n'))
+ self.assertEqual(locale.format_string('%g', x, grouping=True), format(x, 'n'))
+ self.assertEqual(locale.format_string('%.10g', x, grouping=True), format(x, '.10n'))
@run_with_locale('LC_NUMERIC', 'en_US.UTF8')
def test_int__format__locale(self):
@@ -390,7 +390,7 @@
x = 123456789012345678901234567890
for i in range(0, 30):
- self.assertEqual(locale.format('%d', x, grouping=True), format(x, 'n'))
+ self.assertEqual(locale.format_string('%d', x, grouping=True), format(x, 'n'))
# move to the next integer to test
x = x // 10