Added example extension that uses the stream filtering and added unittests.
--HG--
branch : trunk
diff --git a/tests/test_ext.py b/tests/test_ext.py
index 8002789..b425e18 100644
--- a/tests/test_ext.py
+++ b/tests/test_ext.py
@@ -8,14 +8,14 @@
"""
import re
from jinja2 import Environment, nodes
-from jinja2.ext import Extension, Token
+from jinja2.ext import Extension
+from jinja2.lexer import Token, count_newlines
importable_object = 23
-_line_re = re.compile(r'(\r\n|\r|\n)')
-_gettext_re = re.compile(r'_\((([^)\\]*(?:\\.[^)\\]*)*))\)(?s)')
+_gettext_re = re.compile(r'_\((.*?)\)')
class TestExtension(Extension):
@@ -55,9 +55,6 @@
else:
yield token
- def count_lines(self, value):
- return len(_line_re.findall(value))
-
def interpolate(self, token):
pos = 0
end = len(token.value)
@@ -69,7 +66,7 @@
value = token.value[pos:match.start()]
if value:
yield Token(lineno, 'data', value)
- lineno += self.count_lines(token.value)
+ lineno += count_newlines(token.value)
yield Token(lineno, 'variable_begin', None)
yield Token(lineno, 'name', 'gettext')
yield Token(lineno, 'lparen', None)