Skip to content

Commit edf44dc

Browse files
committed
Revert "fix percent escape not working when not at the beginning of the line"
This reverts commit 2031330. Fixes: #384
1 parent 2c647ad commit edf44dc

File tree

4 files changed

+5
-88
lines changed

4 files changed

+5
-88
lines changed

mako/lexer.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -357,12 +357,9 @@ def match_text(self):
357357
r"""
358358
(.*?) # anything, followed by:
359359
(
360-
(?<=\n)(?=[ \t]*(?=%(?!%)|\#\#)) # an eval or line-based
361-
# comment, preceded by a
362-
# consumed newline and whitespace
363-
|
364-
(?<!%)(?=%%+) # consume the first percent sign
365-
# out of a group of percent signs
360+
(?<=\n)(?=[ \t]*(?=%|\#\#)) # an eval or line-based
361+
# comment preceded by a
362+
# consumed newline and whitespace
366363
|
367364
(?=\${) # an expression
368365
|

mako/testing/helpers.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ def result_lines(result):
1919
]
2020

2121

22-
def result_raw_lines(result):
23-
return [x for x in re.split(r"\r?\n", result) if x.strip() != ""]
24-
25-
2622
def make_path(
2723
filespec: Union[Path, str],
2824
make_absolute: bool = True,

test/test_lexer.py

Lines changed: 2 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -201,59 +201,15 @@ def test_percent_escape(self):
201201
{},
202202
[
203203
Text("""\n\n""", (1, 1)),
204-
Text("""% some whatever.\n\n """, (3, 2)),
205-
Text("% more some whatever\n", (5, 6)),
204+
Text("""% some whatever.\n\n""", (3, 2)),
205+
Text(" %% more some whatever\n", (5, 2)),
206206
ControlLine("if", "if foo:", False, (6, 1)),
207207
ControlLine("if", "endif", True, (7, 1)),
208208
Text(" ", (8, 1)),
209209
],
210210
),
211211
)
212212

213-
def test_percent_escape2(self):
214-
template = """%% do something
215-
%%% do something
216-
if <some condition>:
217-
%%%% do something
218-
"""
219-
node = Lexer(template).parse()
220-
self._compare(
221-
node,
222-
TemplateNode(
223-
{},
224-
[
225-
Text("% do something\n", (1, 2)),
226-
Text(
227-
"%% do something\nif <some condition>:\n ", (2, 2)
228-
),
229-
Text("%%% do something\n ", (4, 6)),
230-
],
231-
),
232-
)
233-
234-
def test_percent_escape_with_control_block(self):
235-
template = """
236-
% for i in [1, 2, 3]:
237-
%% do something ${i}
238-
% endfor
239-
"""
240-
node = Lexer(template).parse()
241-
self._compare(
242-
node,
243-
TemplateNode(
244-
{},
245-
[
246-
Text("\n", (1, 1)),
247-
ControlLine("for", "for i in [1, 2, 3]:", False, (2, 1)),
248-
Text(" ", (3, 1)),
249-
Text("% do something ", (3, 6)),
250-
Expression("i", [], (3, 21)),
251-
Text("\n", (3, 25)),
252-
ControlLine("for", "endfor", True, (4, 1)),
253-
],
254-
),
255-
)
256-
257213
def test_old_multiline_comment(self):
258214
template = """#*"""
259215
node = Lexer(template).parse()

test/test_template.py

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from mako.testing.fixtures import TemplateTest
1616
from mako.testing.helpers import flatten_result
1717
from mako.testing.helpers import result_lines
18-
from mako.testing.helpers import result_raw_lines
1918

2019

2120
class ctx:
@@ -1668,34 +1667,3 @@ class FuturesTest(TemplateTest):
16681667
def test_future_import(self):
16691668
t = Template("${ x / y }", future_imports=["division"])
16701669
assert result_lines(t.render(x=12, y=5)) == ["2.4"]
1671-
1672-
1673-
class EscapeTest(TemplateTest):
1674-
def test_percent_escape(self):
1675-
t = Template(
1676-
"""%% do something
1677-
%%% do something
1678-
if <some condition>:
1679-
%%%% do something
1680-
"""
1681-
)
1682-
assert result_raw_lines(t.render()) == [
1683-
"% do something",
1684-
"%% do something",
1685-
"if <some condition>:",
1686-
" %%% do something",
1687-
]
1688-
1689-
def test_percent_escape2(self):
1690-
t = Template(
1691-
"""
1692-
% for i in [1, 2, 3]:
1693-
%% do something ${i}
1694-
% endfor
1695-
"""
1696-
)
1697-
assert result_raw_lines(t.render()) == [
1698-
" % do something 1",
1699-
" % do something 2",
1700-
" % do something 3",
1701-
]

0 commit comments

Comments
 (0)