Mercurial > genshi > genshi-test
changeset 194:eb5c8200f49b
Fix regression introduced in [242]: any reference to an undefined name would result in a `NameError`.
author | cmlenz |
---|---|
date | Thu, 24 Aug 2006 19:05:22 +0000 |
parents | 76129a79458d |
children | a180441acbff |
files | markup/eval.py markup/tests/eval.py |
diffstat | 2 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/markup/eval.py +++ b/markup/eval.py @@ -92,7 +92,7 @@ '_lookup_name': _lookup_name, '_lookup_attr': _lookup_attr, '_lookup_item': _lookup_item}) - if not nocall and callable(retval): + if not nocall and type(retval) is not Undefined and callable(retval): retval = retval() return retval
--- a/markup/tests/eval.py +++ b/markup/tests/eval.py @@ -240,6 +240,10 @@ expr = Expression("[i['name'] for i in items if i['value'] > 1]") self.assertEqual(['b'], expr.evaluate({'items': items})) + def test_error_access_undefined(self): + expr = Expression("nothing", filename='index.html', lineno=50) + self.assertEqual(Undefined, type(expr.evaluate({}))) + def test_error_call_undefined(self): expr = Expression("nothing()", filename='index.html', lineno=50) try: