Serhiy Storchaka added the comment:
I missed existing test_tcl. Patches updated, now they add new tests into
test_tcl.
----------
Added file: http://bugs.python.org/file28959/tkinter_test_passing_values_2.patch
Added file:
http://bugs.python.org/file28960/tkinter_test_passing_values-2.7_2.patch
_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue17118>
_______________________________________
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)
diff -r 20f0c5398e97 Lib/lib-tk/test/test_tkinter/test_nogui.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Lib/lib-tk/test/test_tkinter/test_nogui.py Tue Feb 05 15:14:22
2013 +0200
@@ -0,0 +1,37 @@
+import unittest
+import sys
+import Tkinter as tkinter
+import test.test_support as 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), True)
+ self.assertEqual(passValue(False), False)
+ self.assertEqual(passValue('string'), 'string')
+ self.assertEqual(passValue('string\u20ac'), 'string\u20ac')
+ 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)
+ 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)
diff -r 20f0c5398e97 Lib/test/test_tcl.py
--- a/Lib/test/test_tcl.py Mon Feb 04 10:29:38 2013 -0500
+++ b/Lib/test/test_tcl.py Tue Feb 05 15:14:22 2013 +0200
@@ -1,6 +1,7 @@
#!/usr/bin/env python
import unittest
+import sys
import os
from test import test_support
@@ -151,6 +152,27 @@
# 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')
+ 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)
+ 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():
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com