Issue #21853: Fixed the inspect module in unicode disabled build.
This commit is contained in:
parent
59ea508bb8
commit
d6bfa94493
|
@ -969,8 +969,13 @@ def getcallargs(func, *positional, **named):
|
|||
assign(varkw, named)
|
||||
elif named:
|
||||
unexpected = next(iter(named))
|
||||
if isinstance(unexpected, unicode):
|
||||
unexpected = unexpected.encode(sys.getdefaultencoding(), 'replace')
|
||||
try:
|
||||
unicode
|
||||
except NameError:
|
||||
pass
|
||||
else:
|
||||
if isinstance(unexpected, unicode):
|
||||
unexpected = unexpected.encode(sys.getdefaultencoding(), 'replace')
|
||||
raise TypeError("%s() got an unexpected keyword argument '%s'" %
|
||||
(f_name, unexpected))
|
||||
unassigned = num_args - len([arg for arg in args if is_assigned(arg)])
|
||||
|
|
|
@ -8,7 +8,7 @@ import datetime
|
|||
from UserList import UserList
|
||||
from UserDict import UserDict
|
||||
|
||||
from test.test_support import run_unittest, check_py3k_warnings
|
||||
from test.test_support import run_unittest, check_py3k_warnings, have_unicode
|
||||
|
||||
with check_py3k_warnings(
|
||||
("tuple parameter unpacking has been removed", SyntaxWarning),
|
||||
|
@ -17,7 +17,10 @@ with check_py3k_warnings(
|
|||
from test import inspect_fodder2 as mod2
|
||||
|
||||
# C module for test_findsource_binary
|
||||
import unicodedata
|
||||
try:
|
||||
import unicodedata
|
||||
except ImportError:
|
||||
unicodedata = None
|
||||
|
||||
# Functions tested in this suite:
|
||||
# ismodule, isclass, ismethod, isfunction, istraceback, isframe, iscode,
|
||||
|
@ -798,7 +801,8 @@ class TestGetcallargsFunctions(unittest.TestCase):
|
|||
self.assertEqualException(f, '2, c=3')
|
||||
self.assertEqualException(f, '2, 3, c=4')
|
||||
self.assertEqualException(f, '2, c=4, b=3')
|
||||
self.assertEqualException(f, '**{u"\u03c0\u03b9": 4}')
|
||||
if have_unicode:
|
||||
self.assertEqualException(f, '**{u"\u03c0\u03b9": 4}')
|
||||
# f got multiple values for keyword argument
|
||||
self.assertEqualException(f, '1, a=2')
|
||||
self.assertEqualException(f, '1, **{"a":2}')
|
||||
|
|
Loading…
Reference in New Issue