diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-02-26 23:49:20 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-02-26 23:49:20 +0000 |
commit | 4af83ba476c82bf8dc77494628132ed651cebc6a (patch) | |
tree | 4a314d72f00283488c696a86012d78f6b764119c | |
parent | deaab8b47fdfe64f8bd1af1904cc4baafcde29df (diff) | |
download | external_python_mako-4af83ba476c82bf8dc77494628132ed651cebc6a.tar.gz external_python_mako-4af83ba476c82bf8dc77494628132ed651cebc6a.tar.bz2 external_python_mako-4af83ba476c82bf8dc77494628132ed651cebc6a.zip |
- Fixed lexing support for whitespace
around '=' sign in defs. [ticket:102]
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | lib/mako/lexer.py | 2 | ||||
-rw-r--r-- | test/lexer.py | 12 |
3 files changed, 14 insertions, 2 deletions
@@ -2,6 +2,8 @@ - Added last_modified accessor to Template, returns the time.time() when the module was created. [ticket:97] +- Fixed lexing support for whitespace + around '=' sign in defs. [ticket:102] 0.2.4 - Fixed compatibility with Jython 2.5b1. diff --git a/lib/mako/lexer.py b/lib/mako/lexer.py index c5c39df..cbaf349 100644 --- a/lib/mako/lexer.py +++ b/lib/mako/lexer.py @@ -185,7 +185,7 @@ class Lexer(object): ([\w\.\:]+) # keyword - ((?:\s+\w+|=|".*?"|'.*?')*) # attrname, = sign, string expression + ((?:\s+\w+|\s*=\s*|".*?"|'.*?')*) # attrname, = sign, string expression \s* # more whitespace diff --git a/test/lexer.py b/test/lexer.py index f0062d0..39d5ac5 100644 --- a/test/lexer.py +++ b/test/lexer.py @@ -122,7 +122,17 @@ class LexerTest(unittest.TestCase): assert False except exceptions.CompileException, e: assert str(e) == "Missing parenthesis in %def at line: 2 char: 9" - + + def test_whitespace_equals(self): + template = """ + <%def name = "adef()" > + adef + </%def> + """ + + node = Lexer(template).parse() + assert repr(node) == r"""TemplateNode({}, [Text(u'\n ', (1, 1)), DefTag(u'def', {u'name': u'adef()'}, (2, 13), ["Text(u'\\n adef\\n ', (2, 36))"]), Text(u'\n ', (4, 20))])""" + def test_ns_tag_closed(self): template = """ |