Mercurial > genshi > genshi-test
changeset 526:bd13c96cbfe4
Fix interpolation of short-form expressions that include literal text before the expression. Thanks to Alec for reporting the issue.
author | cmlenz |
---|---|
date | Mon, 18 Jun 2007 21:00:39 +0000 |
parents | b5116a918e70 |
children | f38ce008ab0a |
files | genshi/template/interpolation.py genshi/template/tests/interpolation.py |
diffstat | 2 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/genshi/template/interpolation.py +++ b/genshi/template/interpolation.py @@ -137,6 +137,9 @@ yield True, text[offset + 1:pos].strip() elif not escaped and next == PREFIX: + if offset > pos: + yield False, text[pos:offset] + pos = offset escaped = True pos = offset + 1
--- a/genshi/template/tests/interpolation.py +++ b/genshi/template/tests/interpolation.py @@ -60,6 +60,12 @@ self.assertEqual(TEXT, parts[0][0]) self.assertEqual('$bla', parts[0][1]) + def test_interpolate_short_escaped_2(self): + parts = list(interpolate('my $$bla = 2')) + self.assertEqual(1, len(parts)) + self.assertEqual(TEXT, parts[0][0]) + self.assertEqual('my $bla = 2', parts[0][1]) + def test_interpolate_short_doubleescaped(self): parts = list(interpolate('$$$bla')) self.assertEqual(2, len(parts))