diff -r 7ccdbd1cd213 Lib/test/test_tcl.py --- a/Lib/test/test_tcl.py Tue Feb 05 08:25:24 2013 +0100 +++ b/Lib/test/test_tcl.py Tue Feb 05 15:10:21 2013 +0200 @@ -151,6 +151,26 @@ # exit code must be zero self.assertEqual(f.close(), None) + 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') + for i in (0, 1, -1, 2**31-1, -2**31): + self.assertEqual(passValue(i), i) + for f in (0.0, 1.0, -1.0, 1/3, + 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: + self.assertEqual(passValue(f), f) + self.assertEqual(passValue((1, '2', (3.4,))), (1, '2', (3.4,))) def test_main(): diff -r 7ccdbd1cd213 Lib/tkinter/test/test_tkinter/test_nogui.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Lib/tkinter/test/test_tkinter/test_nogui.py Tue Feb 05 15:10:21 2013 +0200 @@ -0,0 +1,36 @@ +import unittest +import sys +import tkinter +from test import support + +class NoguiTest(unittest.TestCase): + + def setUp(self): + self.call = tkinter.Tcl().tk.call + + def test_passing_values(self): + def passValue(value): + return self.call('set', '_', value) + #self.assertEqual(passValue(()), True) + self.assertEqual(passValue(True), True) + self.assertEqual(passValue(False), False) + self.assertEqual(passValue('string'), 'string') + self.assertEqual(passValue('string\u20ac'), 'string\u20ac') + for i in (0, 1, -1, 2**31-1, -2**31): + self.assertEqual(passValue(i), i) + for f in (0.0, 1.0, -1.0, 1/3, + 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: + self.assertEqual(passValue(f), f) + self.assertEqual(passValue((1, '2', (3.4,))), (1, '2', (3.4,))) + + +tests_gui = (NoguiTest,) + +if __name__ == "__main__": + support.run_unittest(*tests_gui)