diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2013-12-25 17:28:50 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2013-12-25 17:28:50 +0200 |
commit | d5463772517263d5b8c3df33639dbaf6edda4523 (patch) | |
tree | b7ec8625ebc311bd2a36bfaa7c2a5cd780f7b8dd | |
parent | 2cd31b77faf2e2c4295f3aee7832f10ebbc7fb97 (diff) | |
download | cpython-d5463772517263d5b8c3df33639dbaf6edda4523.tar.gz |
Issue #19320: test_tcl no longer fails when wantobjects is false.
-rw-r--r-- | Lib/test/test_tcl.py | 45 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
2 files changed, 32 insertions, 15 deletions
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py index a44a0a16f9..ec21f077de 100644 --- a/Lib/test/test_tcl.py +++ b/Lib/test/test_tcl.py @@ -33,6 +33,7 @@ class TclTest(unittest.TestCase): def setUp(self): self.interp = Tcl() + self.wantobjects = self.interp.tk.wantobjects() def testEval(self): tcl = self.interp @@ -178,24 +179,32 @@ class TclTest(unittest.TestCase): def test_passing_values(self): def passValue(value): return self.interp.call('set', '_', value) - self.assertEqual(passValue(True), True) - self.assertEqual(passValue(False), False) - self.assertEqual(passValue('string'), 'string') - self.assertEqual(passValue('string\u20ac'), 'string\u20ac') + + self.assertEqual(passValue(True), True if self.wantobjects else '1') + self.assertEqual(passValue(False), False if self.wantobjects else '0') self.assertEqual(passValue(u'string'), u'string') self.assertEqual(passValue(u'string\u20ac'), u'string\u20ac') for i in (0, 1, -1, int(2**31-1), int(-2**31)): - self.assertEqual(passValue(i), i) + self.assertEqual(passValue(i), i if self.wantobjects else str(i)) for f in (0.0, 1.0, -1.0, 1//3, 1/3.0, sys.float_info.min, sys.float_info.max, -sys.float_info.min, -sys.float_info.max): - self.assertEqual(passValue(f), f) - for f in float('nan'), float('inf'), -float('inf'): - if f != f: # NaN - self.assertNotEqual(passValue(f), f) - else: + if self.wantobjects: self.assertEqual(passValue(f), f) - self.assertEqual(passValue((1, '2', (3.4,))), (1, '2', (3.4,))) + else: + self.assertEqual(float(passValue(f)), f) + if self.wantobjects: + f = passValue(float('nan')) + self.assertNotEqual(f, f) + self.assertEqual(passValue(float('inf')), float('inf')) + self.assertEqual(passValue(-float('inf')), -float('inf')) + else: + f = float(passValue(float('nan'))) + self.assertNotEqual(f, f) + self.assertEqual(float(passValue(float('inf'))), float('inf')) + self.assertEqual(float(passValue(-float('inf'))), -float('inf')) + self.assertEqual(passValue((1, '2', (3.4,))), + (1, '2', (3.4,)) if self.wantobjects else '1 2 3.4') def test_splitlist(self): splitlist = self.interp.tk.splitlist @@ -220,12 +229,15 @@ class TclTest(unittest.TestCase): ('a 3.4', ('a', '3.4')), (('a', 3.4), ('a', 3.4)), ((), ()), - (call('list', 1, '2', (3.4,)), (1, '2', (3.4,))), + (call('list', 1, '2', (3.4,)), + (1, '2', (3.4,)) if self.wantobjects else + ('1', '2', '3.4')), ] if tcl_version >= (8, 5): testcases += [ (call('dict', 'create', 1, u'\u20ac', '\xe2\x82\xac', (3.4,)), - (1, u'\u20ac', u'\u20ac', (3.4,))), + (1, u'\u20ac', u'\u20ac', (3.4,)) if self.wantobjects else + ('1', '\xe2\x82\xac', '\xe2\x82\xac', '3.4')), ] for arg, res in testcases: self.assertEqual(splitlist(arg), res) @@ -257,12 +269,15 @@ class TclTest(unittest.TestCase): (('a', 3.4), ('a', 3.4)), (('a', (2, 3.4)), ('a', (2, 3.4))), ((), ()), - (call('list', 1, '2', (3.4,)), (1, '2', (3.4,))), + (call('list', 1, '2', (3.4,)), + (1, '2', (3.4,)) if self.wantobjects else + ('1', '2', '3.4')), ] if tcl_version >= (8, 5): testcases += [ (call('dict', 'create', 12, u'\u20ac', '\xe2\x82\xac', (3.4,)), - (12, u'\u20ac', u'\u20ac', (3.4,))), + (12, u'\u20ac', u'\u20ac', (3.4,)) if self.wantobjects else + ('12', '\xe2\x82\xac', '\xe2\x82\xac', '3.4')), ] for arg, res in testcases: self.assertEqual(split(arg), res) @@ -132,6 +132,8 @@ IDLE Tests ----- +- Issue #19320: test_tcl no longer fails when wantobjects is false. + - Issue #19683: Removed empty tests from test_minidom. Initial patch by Ajitesh Gupta. |