]> granicus.if.org Git - python/commitdiff
Issue #17118: Add new tests for testing Python-Tcl interaction.
authorSerhiy Storchaka <storchaka@gmail.com>
Thu, 7 Feb 2013 13:40:03 +0000 (15:40 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Thu, 7 Feb 2013 13:40:03 +0000 (15:40 +0200)
Lib/test/test_tcl.py

index d86246cbfb74a59efc9312efc640a2a0f9a45ed9..d38c0b5bb8ad15d3296dd08cad0ac5e0f3791879 100644 (file)
@@ -151,6 +151,26 @@ class TclTest(unittest.TestCase):
         # 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():