[Python-checkins] r53904 - sandbox/trunk/pep362/pep362.py sandbox/trunk/pep362/test_pep362.py

brett.cannon python-checkins at python.org
Sun Feb 25 17:08:05 CET 2007


Author: brett.cannon
Date: Sun Feb 25 17:08:01 2007
New Revision: 53904

Modified:
   sandbox/trunk/pep362/pep362.py
   sandbox/trunk/pep362/test_pep362.py
Log:
Handle default values for tuples.


Modified: sandbox/trunk/pep362/pep362.py
==============================================================================
--- sandbox/trunk/pep362/pep362.py	(original)
+++ sandbox/trunk/pep362/pep362.py	Sun Feb 25 17:08:01 2007
@@ -215,7 +215,8 @@
                         raise BindError("%r unbound" % param_name)
                 else:
                     if positional_param.has_default:
-                        bindings[param_name] = positional_param.default_value
+                        self._tuple_bind(bindings, param_name,
+                                            positional_param.default_value)
                     else:
                         raise BindError("%r parameter lacking default value" %
                                         param_name)

Modified: sandbox/trunk/pep362/test_pep362.py
==============================================================================
--- sandbox/trunk/pep362/test_pep362.py	(original)
+++ sandbox/trunk/pep362/test_pep362.py	Sun Feb 25 17:08:01 2007
@@ -265,14 +265,13 @@
         self.failUnlessRaises(pep362.BindError, sig.bind, (1,2,3))
         self.failUnlessRaises(pep362.BindError, sig.bind, (1, 2))
 
-    def XXX_test_default_tuple_parameter(self):
+    def test_default_tuple_parameter(self):
         sig = pep362.Signature(pep362_fodder.default_tuple_args)
         binding = sig.bind()
-        self.failUnlessEqual({'a':1, 'b':(2,)}, binding)
+        self.failUnlessEqual({'a':1, 'b':2}, binding)
         arg = (0, (1,))
-        a, b = arg
         binding = sig.bind(arg)
-        self.failUnlessEqual({'a':a, 'b':b}, binding)
+        self.failUnlessEqual({'a':0, 'b':1}, binding)
 
     def XXX_test_all_parameter_types(self):
         sig = pep362.Signature(pep362_fodder.all_args)


More information about the Python-checkins mailing list