Mercurial > genshi > genshi-test
changeset 401:9582328f82e5
Make the `Markup` class available by default in template expressions. Closes #67.
author | cmlenz |
---|---|
date | Thu, 18 Jan 2007 15:41:47 +0000 |
parents | 8dd0d34a9fb7 |
children | cc7f5b3fbbed |
files | ChangeLog genshi/template/eval.py genshi/template/tests/eval.py |
diffstat | 3 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,8 @@ * Expressions can now contain dict literals (ticket #37). * It is now possible to have one or more escaped dollar signs in front of a full expression (ticket #92). + * The `Markup` class is now available by default in template expressions + (ticket #67). Version 0.3.6
--- a/genshi/template/eval.py +++ b/genshi/template/eval.py @@ -22,6 +22,7 @@ except NameError: from sets import Set as set +from genshi.core import Markup from genshi.util import flatten __all__ = ['Expression', 'Undefined'] @@ -200,7 +201,7 @@ lineno, code.co_lnotab, (), ()) BUILTINS = __builtin__.__dict__.copy() -BUILTINS['Undefined'] = Undefined +BUILTINS.update({'Markup': Markup, 'Undefined': Undefined}) _UNDEF = Undefined(None) def _lookup_name(data, name):
--- a/genshi/template/tests/eval.py +++ b/genshi/template/tests/eval.py @@ -15,6 +15,7 @@ import sys import unittest +from genshi.core import Markup from genshi.template.eval import Expression, Undefined @@ -36,6 +37,12 @@ self.assertEqual('bar', Expression('id').evaluate({'id': 'bar'})) self.assertEqual(None, Expression('id').evaluate({'id': None})) + def test_builtins(self): + expr = Expression('Markup') + self.assertEqual(expr.evaluate({}), Markup) + expr = Expression('Undefined') + self.assertEqual(expr.evaluate({}), Undefined) + def test_str_literal(self): self.assertEqual('foo', Expression('"foo"').evaluate({})) self.assertEqual('foo', Expression('"""foo"""').evaluate({}))