Issue #23474: Enhanced locale testing.
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index de309ba..3b3d9d1 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -32,7 +32,8 @@
from decimal import *
import numbers
from test.test_support import (run_unittest, run_doctest, requires_unicode, u,
- is_resource_enabled, check_py3k_warnings)
+ is_resource_enabled, check_py3k_warnings,
+ run_with_locale)
import random
try:
import threading
@@ -905,6 +906,23 @@
self.assertEqual(get_fmt(123456, crazy, '012n'), '00-01-2345-6')
self.assertEqual(get_fmt(123456, crazy, '013n'), '000-01-2345-6')
+ @run_with_locale('LC_ALL', 'ps_AF.UTF-8')
+ def test_wide_char_separator_decimal_point(self):
+ # locale with wide char separator and decimal point
+ import locale
+
+ decimal_point = locale.localeconv()['decimal_point']
+ thousands_sep = locale.localeconv()['thousands_sep']
+ if decimal_point != '\xd9\xab':
+ self.skipTest('inappropriate decimal point separator'
+ '({!r} not {!r})'.format(decimal_point, '\xd9\xab'))
+ if thousands_sep != '\xd9\xac':
+ self.skipTest('inappropriate thousands separator'
+ '({!r} not {!r})'.format(thousands_sep, '\xd9\xac'))
+
+ self.assertEqual(format(Decimal('100000000.123'), 'n'),
+ '100\xd9\xac000\xd9\xac000\xd9\xab123')
+
class DecimalArithmeticOperatorsTest(unittest.TestCase):
'''Unit tests for all arithmetic operators, binary and unary.'''