diff options
Diffstat (limited to '')
| -rw-r--r-- | testing/test_trim.toml | 2 | ||||
| -rw-r--r-- | testing/tests/gen_ws_tests.py | 58 | ||||
| -rw-r--r-- | testing/tests/ws.rs | 301 | 
3 files changed, 342 insertions, 19 deletions
| diff --git a/testing/test_trim.toml b/testing/test_trim.toml new file mode 100644 index 0000000..57e88f8 --- /dev/null +++ b/testing/test_trim.toml @@ -0,0 +1,2 @@ +[general] +suppress_whitespace = true diff --git a/testing/tests/gen_ws_tests.py b/testing/tests/gen_ws_tests.py index 5d2a332..bf59a09 100644 --- a/testing/tests/gen_ws_tests.py +++ b/testing/tests/gen_ws_tests.py @@ -10,7 +10,10 @@ BRANCHES = 2 # branches  IF, ELSE_IF, ELSE, END_IF = 0, 1, 2, 3  NL = "\\n" -dash = lambda ws: [" ", "-"][ws] + + +def handle_ws(ws, trim=True): +    return [" ", "-" if trim else "+"][ws]  def trim(s, ws): @@ -40,8 +43,9 @@ def pairwise(iterable):      return zip(a, b) -def write_cond(conds, active_branch): +def write_cond(conds, active_branch, sign, invert):      n = len(conds) - 1 +    trim = sign == "-"      lits = []      for i in range(1, n + 2 + 1): @@ -54,7 +58,7 @@ def write_cond(conds, active_branch):          kind = cond_kind(i, n)          b = str(i == active_branch).lower()          cond = [f"if {b}", f"else if {b}", "else", "endif"][kind] -        cond = f"{{%{dash(pws)} {cond} {dash(nws)}%}}" +        cond = f"{{%{handle_ws(pws, trim)} {cond} {handle_ws(nws, trim)}%}}"          conds[i] = cond      it = map("".join, lits) @@ -64,8 +68,15 @@ def write_cond(conds, active_branch):      expected = f"{lits[0][0]}{lits[0][1]}"      for i, (cond, (before, after)) in enumerate(zip(conds, pairwise(lits))):          kind = cond_kind(i, n) -        pws = cond.startswith("{%-") -        nws = cond.endswith("-%}") +        pws = cond.startswith(f"{{%{sign}") +        nws = cond.endswith(f"{sign}%}}") + +        if sign == "+": +            pws = not pws +            nws = not nws +        elif invert: +            pws = True +            nws = True          cond = i == active_branch          prev_cond = i == (active_branch + 1) @@ -87,13 +98,13 @@ def write_match(contents, arms, match_ws):      code = before      pws, nws = match_ws[0] -    code += f"{{%{dash(pws)} match {expr} {dash(nws)}%}}" +    code += f"{{%{handle_ws(pws)} match {expr} {handle_ws(nws)}%}}"      for (arm, expr), (pws, nws) in zip(arms, match_ws[1:-1]): -        code += f"{{%{dash(pws)} when {arm} {dash(nws)}%}}{expr}" +        code += f"{{%{handle_ws(pws)} when {arm} {handle_ws(nws)}%}}{expr}"      pws, nws = match_ws[-1] -    code += f"{{%{dash(pws)} endmatch {dash(nws)}%}}" +    code += f"{{%{handle_ws(pws)} endmatch {handle_ws(nws)}%}}"      code += after      return code @@ -109,22 +120,25 @@ def write_match_result(active_arm, contents, arms, match_ws):      return expected -def write_cond_tests(f): +def write_cond_tests(f, name_extra, config):      f.write(""" -macro_rules! test_template { -    ($source:literal, $rendered:expr) => {{ +macro_rules! test_template{name_extra} {{ +    ($source:literal, $rendered:expr) => {{{{          #[derive(Template)] -        #[template(source = $source, ext = "txt")] +        #[template(source = $source, ext = "txt"{config})]          struct CondWs;          assert_eq!(CondWs.render().unwrap(), $rendered); -    }}; -} +    }}}}; +}}  #[rustfmt::skip]  #[test] -fn test_cond_ws() { -""") +fn test_cond_ws{name_extra}() {{ +""".format(name_extra = name_extra, config = config)) + +    invert = len(name_extra) > 0 +    sign = "+" if invert else "-"      for branches in range(1, BRANCHES + 1):          for x in product([False, True], repeat=(branches+1)*2): @@ -133,8 +147,13 @@ fn test_cond_ws() {              conds = list(zip(x[::2], x[1::2]))              for i in range(branches): -                code, expected = write_cond(conds, i) -                f.write(f'    test_template!("{code}", "{expected}");\n') +                code, expected = write_cond(conds, i, sign, invert) +                f.write(f'    test_template{name_extra}!("{code}", "{expected}");\n') +                if invert and ("{%+" in code or "+%}" in code): +                    # We also check that the minus sign is trimming with suppress_whitespace +                    # option enabled. +                    code, expected = write_cond(conds, i, "-", invert) +                    f.write(f'    test_template{name_extra}!("{code}", "{expected}");\n')          if branches != BRANCHES:              f.write("\n") @@ -182,5 +201,6 @@ if __name__ == "__main__":      with open("ws.rs", "w") as f:          f.write("// This file is auto generated by gen_ws_tests.py\n\n")          f.write("use askama::Template;\n") -        write_cond_tests(f) +        write_cond_tests(f, "", "") +        write_cond_tests(f, "_inverted", ', config = "test_trim.toml"')          write_match_tests(f) diff --git a/testing/tests/ws.rs b/testing/tests/ws.rs index 3b4eb16..77af1ec 100644 --- a/testing/tests/ws.rs +++ b/testing/tests/ws.rs @@ -162,6 +162,307 @@ fn test_cond_ws() {      test_template!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134");  } +macro_rules! test_template_inverted { +    ($source:literal, $rendered:expr) => {{ +        #[derive(Template)] +        #[template(source = $source, ext = "txt", config = "test_trim.toml")] +        struct CondWs; + +        assert_eq!(CondWs.render().unwrap(), $rendered); +    }}; +} + +#[rustfmt::skip] +#[test] +fn test_cond_ws_inverted() { +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  endif +%}\n\n\n3\r\n\r\n\r\n", "\n12\n\n\n3"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ endif  %}\n\n\n3\r\n\r\n\r\n", "\n12\r\n\r\n3"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ endif +%}\n\n\n3\r\n\r\n\r\n", "\n12\r\n\r\n\n\n\n3"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  endif  %}\n\n\n3\r\n\r\n\r\n", "\n1\n\n23"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  endif +%}\n\n\n3\r\n\r\n\r\n", "\n1\n\n2\n\n\n3"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ endif  %}\n\n\n3\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n3"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ endif +%}\n\n\n3\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n\n\n\n3"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  endif  %}\n\n\n3\r\n\r\n\r\n", "\n1\r\n23"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  endif +%}\n\n\n3\r\n\r\n\r\n", "\n1\r\n2\n\n\n3"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ endif  %}\n\n\n3\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n3"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ endif +%}\n\n\n3\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n\n\n\n3"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  endif  %}\n\n\n3\r\n\r\n\r\n", "\n1\r\n\n\n23"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  endif +%}\n\n\n3\r\n\r\n\r\n", "\n1\r\n\n\n2\n\n\n3"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ endif  %}\n\n\n3\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n3"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- endif  %}\n\n\n3\r\n\r\n\r\n", "\n123"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ endif +%}\n\n\n3\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n\n\n\n3"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- endif -%}\n\n\n3\r\n\r\n\r\n", "\n123"); + +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n34"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n34"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n12\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n24"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n24"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n24"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n34"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n24"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n13\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n34"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%  if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%  if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%  if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n24"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n34"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n24"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n24"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n34"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n24"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n34"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n34"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false  %}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false  %}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n24"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n34"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n24"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n24"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n34"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n24"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%  else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%  else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n34"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else  %}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else  %}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n34"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%  endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%  endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif  %}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +    test_template_inverted!("\n1\r\n{%+ if true +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n2\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if true -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n124"); +    test_template_inverted!("\n1\r\n{%+ if false +%}\n\n2\r\n\r\n{%+ else +%}\n\n\n3\r\n\r\n\r\n{%+ endif +%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n1\r\n\n\n\n3\r\n\r\n\r\n\n\n\n\n4"); +    test_template_inverted!("\n1\r\n{%- if false -%}\n\n2\r\n\r\n{%- else -%}\n\n\n3\r\n\r\n\r\n{%- endif -%}\n\n\n\n4\r\n\r\n\r\n\r\n", "\n134"); +} +  #[rustfmt::skip]  macro_rules! test_match {      ($source:literal, $some_rendered:expr, $none_rendered:expr) => {{ | 
