:license: BSD, see LICENSE for more details.
"""
import re
-import sys
-
-from operator import itemgetter
from collections import deque
+from operator import itemgetter
+
+from jinja2._compat import implements_iterator, intern, iteritems, text_type
from jinja2.exceptions import TemplateSyntaxError
from jinja2.utils import LRUCache
-from jinja2._compat import iteritems, implements_iterator, text_type, intern
-
# cache for the lexers. Exists in order to be able to have multiple
# environments with the same lexer
try:
compile('föö', '<unknown>', 'eval')
except SyntaxError:
- name_re = re.compile(r'\b[a-zA-Z_][a-zA-Z0-9_]*\b')
+ name_re = re.compile(r'[a-zA-Z_][a-zA-Z0-9_]*')
check_ident = False
else:
# for whatever reason these do not exist in 'some' verisons of
# 0x1886 MONGOLIAN LETTER ALI GALI THREE BALUDA
# 0x2118 SCRIPT CAPITAL P
# 0x212e ESTIMATED SYMBOL
- name_re = re.compile(r'\b[\w\u1885\u1886\u2118\u212e]+\b')
+ name_re = re.compile(r'[\w\u1885\u1886\u2118\u212e]+')
check_ident = True
float_re = re.compile(r'(?<!\.)\d+\.\d+')
(u'_', True, True),
(u'1a', False, False),
# special cases in addition to \w
- ('\u1885', False, True),
- ('\u1886', False, True),
- ('\u2118', False, True),
- ('\u212e', False, True),
+ (u'\u1885', False, True),
+ (u'\u1886', False, True),
+ (u'\u2118', False, True),
+ (u'\u212e', False, True),
))
def test_name(self, env, name, valid2, valid3):
t = u'{{ ' + name + u' }}'