Ticket #42: eval-fix-star-and-dstar-expr.patch
| File eval-fix-star-and-dstar-expr.patch, 1.7 KB (added by davidf@…, 17 years ago) |
|---|
-
tests/eval.py
200 200 self.assertEqual(42, Expression("foo(x=bar)").evaluate({'foo': lambda x: x, 201 201 'bar': 42})) 202 202 203 def test_call_star_args(self): 204 self.assertEqual(42, Expression("foo(*bar)").evaluate({'foo': lambda x: x, 205 'bar': [42]})) 206 207 def test_call_dstar_args(self): 208 def foo(x): 209 return x 210 self.assertEqual(42, Expression("foo(**bar)").evaluate({'foo': foo, 211 'bar': {"x": 42}})) 212 203 213 def test_call_function_without_params(self): 204 214 self.assertEqual(42, Expression("foo").evaluate({'foo': lambda: 42})) 205 215 data = {'foo': 'bar'} -
eval.py
243 243 node.node = self.visit(node.node, *args, **kwargs) 244 244 node.args = map(lambda x: self.visit(x, *args, **kwargs), node.args) 245 245 if node.star_args: 246 node.star_args = map(lambda x: self.visit(x, *args, **kwargs), 247 node.star_args) 246 node.star_args = self.visit(node.star_args, *args, **kwargs) 248 247 if node.dstar_args: 249 node.dstart_args = map(lambda x: self.visit(x, *args, **kwargs), 250 node.dstar_args) 248 node.dstar_args = self.visit(node.dstar_args, *args, **kwargs) 251 249 return node 252 250 253 251 def visitLambda(self, node, *args, **kwargs):
