Mercurial > genshi > genshi-test
diff markup/tests/eval.py @ 90:242610137d1f
When an expression evaluates to a callable, it is called implicitly.
author | cmlenz |
---|---|
date | Wed, 19 Jul 2006 17:50:17 +0000 |
parents | 9ecae580dd93 |
children | 12efdfe8af47 |
line wrap: on
line diff
--- a/markup/tests/eval.py +++ b/markup/tests/eval.py @@ -180,6 +180,12 @@ data = {'foo': {'bar': range(42)}} self.assertEqual(42, Expression("len(foo.bar)").evaluate(data)) + def test_call_function_without_params(self): + self.assertEqual(42, Expression("foo").evaluate({'foo': lambda: 42})) + data = {'foo': 'bar'} + self.assertEqual('BAR', Expression("foo.upper").evaluate(data)) + data = {'foo': {'bar': range(42)}} + def test_list_comprehension(self): expr = Expression("[n for n in numbers if n < 2]") self.assertEqual([0, 1], expr.evaluate({'numbers': range(5)}))