out = tmpl.render()
assert out == 'a|b'
- def test_indent(self, env):
- text = '\n'.join(['', 'foo bar', ''])
+ @staticmethod
+ def _test_indent_multiline_template(env, markup=False):
+ text = '\n'.join(['', 'foo bar', '"baz"', ''])
+ if markup:
+ text = Markup(text)
t = env.from_string('{{ foo|indent(2, false, false) }}')
- assert t.render(foo=text) == '\n foo bar\n'
+ assert t.render(foo=text) == '\n foo bar\n "baz"\n'
t = env.from_string('{{ foo|indent(2, false, true) }}')
- assert t.render(foo=text) == '\n foo bar\n '
+ assert t.render(foo=text) == '\n foo bar\n "baz"\n '
t = env.from_string('{{ foo|indent(2, true, false) }}')
- assert t.render(foo=text) == ' \n foo bar\n'
+ assert t.render(foo=text) == ' \n foo bar\n "baz"\n'
t = env.from_string('{{ foo|indent(2, true, true) }}')
- assert t.render(foo=text) == ' \n foo bar\n '
+ assert t.render(foo=text) == ' \n foo bar\n "baz"\n '
+ def test_indent(self, env):
+ self._test_indent_multiline_template(env)
t = env.from_string('{{ "jinja"|indent }}')
assert t.render() == 'jinja'
t = env.from_string('{{ "jinja"|indent(first=true) }}')
t = env.from_string('{{ "jinja"|indent(blank=true) }}')
assert t.render() == 'jinja'
+ def test_indent_markup_input(self, env):
+ '''
+ Tests casses where the filter input is a Markup type
+ '''
+ self._test_indent_multiline_template(env, markup=True)
+
def test_indentfirst_deprecated(self, env):
with pytest.warns(DeprecationWarning):
env.from_string('{{ "jinja"|indent(indentfirst=true) }}').render()