diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-02-02 21:04:24 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-02-02 21:04:24 (GMT) |
commit | 92af06bb5ab678bd21a73d909b368eef87e6c945 (patch) | |
tree | e1e340ece9e2f493bf0ddbf2ef22685277d1df73 | |
parent | 091d386f7877ee1a37475dddc6ad845f5b70e4a2 (diff) | |
download | cpython-92af06bb5ab678bd21a73d909b368eef87e6c945.zip cpython-92af06bb5ab678bd21a73d909b368eef87e6c945.tar.gz cpython-92af06bb5ab678bd21a73d909b368eef87e6c945.tar.bz2 |
Issue #19320: Fixed split/splitlist tests in test_tcl for Tcl 8.5.0-8.5.5.
-rw-r--r-- | Lib/test/test_tcl.py | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py index 0520c09..6d422e0 100644 --- a/Lib/test/test_tcl.py +++ b/Lib/test/test_tcl.py @@ -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) |