comparison markup/tests/eval.py @ 227:96a7e5011c69 trunk

Use list comprehension instead of `map()` in the AST transformer.
author cmlenz
date Fri, 08 Sep 2006 09:17:42 +0000
parents 16d7b5db7ef4
children
comparison
equal deleted inserted replaced
226:4d8a9e03b23d 227:96a7e5011c69
248 def test_list_comprehension_with_getitem(self): 248 def test_list_comprehension_with_getitem(self):
249 items = [{'name': 'a', 'value': 1}, {'name': 'b', 'value': 2}] 249 items = [{'name': 'a', 'value': 1}, {'name': 'b', 'value': 2}]
250 expr = Expression("[i['name'] for i in items if i['value'] > 1]") 250 expr = Expression("[i['name'] for i in items if i['value'] > 1]")
251 self.assertEqual(['b'], expr.evaluate({'items': items})) 251 self.assertEqual(['b'], expr.evaluate({'items': items}))
252 252
253 # generator expressions only supported in Python 2.4 and up
254 if sys.version_info >= (2, 4): 253 if sys.version_info >= (2, 4):
254 # Generator expressions only supported in Python 2.4 and up
255
255 def test_generator_expression(self): 256 def test_generator_expression(self):
256 expr = Expression("list(n for n in numbers if n < 2)") 257 expr = Expression("list(n for n in numbers if n < 2)")
257 self.assertEqual([0, 1], expr.evaluate({'numbers': range(5)})) 258 self.assertEqual([0, 1], expr.evaluate({'numbers': range(5)}))
258 259
259 expr = Expression("list((i, n + 1) for i, n in enumerate(numbers))") 260 expr = Expression("list((i, n + 1) for i, n in enumerate(numbers))")
Copyright (C) 2012-2017 Edgewall Software