mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-12915: Improve Unicode support for package names and attributes. (GH-18517)
This commit is contained in:
parent
e263bb1e97
commit
4f17c5cd9a
2 changed files with 39 additions and 6 deletions
|
@ -229,8 +229,40 @@ class PkgutilTests(unittest.TestCase):
|
|||
('logging.handlers:SysLogHandler.NO_SUCH_VALUE', AttributeError),
|
||||
('logging.handlers.SysLogHandler.NO_SUCH_VALUE', AttributeError),
|
||||
('ZeroDivisionError', ImportError),
|
||||
('os.path.9abc', ValueError),
|
||||
('9abc', ValueError),
|
||||
)
|
||||
|
||||
# add some Unicode package names to the mix.
|
||||
|
||||
unicode_words = ('\u0935\u092e\u0938',
|
||||
'\xe9', '\xc8',
|
||||
'\uc548\ub155\ud558\uc138\uc694',
|
||||
'\u3055\u3088\u306a\u3089',
|
||||
'\u3042\u308a\u304c\u3068\u3046',
|
||||
'\u0425\u043e\u0440\u043e\u0448\u043e',
|
||||
'\u0441\u043f\u0430\u0441\u0438\u0431\u043e',
|
||||
'\u73b0\u4ee3\u6c49\u8bed\u5e38\u7528\u5b57\u8868')
|
||||
|
||||
for uw in unicode_words:
|
||||
d = os.path.join(self.dirname, uw)
|
||||
os.makedirs(d, exist_ok=True)
|
||||
# make an empty __init__.py file
|
||||
f = os.path.join(d, '__init__.py')
|
||||
with open(f, 'w') as f:
|
||||
f.write('')
|
||||
f.flush()
|
||||
# now import the package we just created; clearing the caches is
|
||||
# needed, otherwise the newly created package isn't found
|
||||
importlib.invalidate_caches()
|
||||
mod = importlib.import_module(uw)
|
||||
success_cases += (uw, mod),
|
||||
if len(uw) > 1:
|
||||
failure_cases += (uw[:-1], ImportError),
|
||||
|
||||
# add an example with a Unicode digit at the start
|
||||
failure_cases += ('\u0966\u0935\u092e\u0938', ValueError),
|
||||
|
||||
for s, expected in success_cases:
|
||||
with self.subTest(s=s):
|
||||
o = pkgutil.resolve_name(s)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue