summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_tcl.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-02-02 21:04:24 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-02-02 21:04:24 (GMT)
commit92af06bb5ab678bd21a73d909b368eef87e6c945 (patch)
treee1e340ece9e2f493bf0ddbf2ef22685277d1df73 /Lib/test/test_tcl.py
parent091d386f7877ee1a37475dddc6ad845f5b70e4a2 (diff)
downloadcpython-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.
Diffstat (limited to 'Lib/test/test_tcl.py')
-rw-r--r--Lib/test/test_tcl.py33
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)