Issue #19320: Fixed split/splitlist tests in test_tcl for Tcl 8.5.0-8.5.5.
This commit is contained in:
parent
091d386f78
commit
92af06bb5a
|
@ -21,6 +21,21 @@ except ValueError:
|
|||
pass
|
||||
tcl_version = tuple(tcl_version)
|
||||
|
||||
_tk_patchlevel = None
|
||||
def get_tk_patchlevel():
|
||||
global _tk_patchlevel
|
||||
if _tk_patchlevel is None:
|
||||
tcl = Tcl()
|
||||
patchlevel = []
|
||||
for x in tcl.call('info', 'patchlevel').split('.'):
|
||||
try:
|
||||
x = int(x, 10)
|
||||
except ValueError:
|
||||
x = -1
|
||||
patchlevel.append(x)
|
||||
_tk_patchlevel = tuple(patchlevel)
|
||||
return _tk_patchlevel
|
||||
|
||||
|
||||
class TkinterTest(unittest.TestCase):
|
||||
|
||||
|
@ -259,10 +274,14 @@ class TclTest(unittest.TestCase):
|
|||
('1', '2', '3.4')),
|
||||
]
|
||||
if tcl_version >= (8, 5):
|
||||
if not self.wantobjects or get_tk_patchlevel() < (8, 5, 5):
|
||||
# Before 8.5.5 dicts were converted to lists through string
|
||||
expected = ('12', '\u20ac', '\u20ac', '3.4')
|
||||
else:
|
||||
expected = (12, '\u20ac', '\u20ac', (3.4,))
|
||||
testcases += [
|
||||
(call('dict', 'create', 1, '\u20ac', b'\xe2\x82\xac', (3.4,)),
|
||||
(1, '\u20ac', '\u20ac', (3.4,)) if self.wantobjects else
|
||||
('1', '\u20ac', '\u20ac', '3.4')),
|
||||
(call('dict', 'create', 12, '\u20ac', b'\xe2\x82\xac', (3.4,)),
|
||||
expected),
|
||||
]
|
||||
for arg, res in testcases:
|
||||
self.assertEqual(splitlist(arg), res, msg=arg)
|
||||
|
@ -299,10 +318,14 @@ class TclTest(unittest.TestCase):
|
|||
('1', '2', '3.4')),
|
||||
]
|
||||
if tcl_version >= (8, 5):
|
||||
if not self.wantobjects or get_tk_patchlevel() < (8, 5, 5):
|
||||
# Before 8.5.5 dicts were converted to lists through string
|
||||
expected = ('12', '\u20ac', '\u20ac', '3.4')
|
||||
else:
|
||||
expected = (12, '\u20ac', '\u20ac', (3.4,))
|
||||
testcases += [
|
||||
(call('dict', 'create', 12, '\u20ac', b'\xe2\x82\xac', (3.4,)),
|
||||
(12, '\u20ac', '\u20ac', (3.4,)) if self.wantobjects else
|
||||
('12', '\u20ac', '\u20ac', '3.4')),
|
||||
expected),
|
||||
]
|
||||
for arg, res in testcases:
|
||||
self.assertEqual(split(arg), res, msg=arg)
|
||||
|
|
Loading…
Reference in New Issue