def setUp(self): self.simplesyntax = SimpleSyntaxExtension(Environment())
class TestCase(unittest.TestCase): def setUp(self): self.simplesyntax = SimpleSyntaxExtension(Environment()) def _p(self, source): return self.simplesyntax.preprocess(source, '<string>', '<string>') def test_extends(self): s = self._p('''%:extends "base.html"''') r = '''{% extends "base.html" %}''' self.assertEqual(s, r) def test_import(self): s = self._p('''%:import "test.html" as test''') r = '''{% import "test.html" as test %}''' self.assertEqual(s, r) def test_from_import(self): s = self._p('''%:from "test.html" import test''') r = '''{% from "test.html" import test %}''' self.assertEqual(s, r) def test_set(self): s = self._p('''%:set i=1''') r = '''{% set i=1 %}''' self.assertEqual(s, r) def test_do(self): s = self._p('''%:do test.append(1)''') r = '''{% do test.append(1) %}''' self.assertEqual(s, r) def test_continue(self): s = self._p('''%:continue''') r = '''{% continue %}''' self.assertEqual(s, r) def test_break(self): s = self._p('''%:break''') r = '''{% break %}''' self.assertEqual(s, r) def test_inline_content(self): s = self._p('''%:block test | Test content''') r = '''{% block test %}Test content{% endblock %}''' self.assertEqual(s, r) def test_inline_content2(self): s = self._p('''%:if 1 == 43: | Test content''') r = '''{% if 1 == 43: %}Test content{% endif %}''' self.assertEqual(s, r) def test_line_block_end(self): s = self._p(''' %:if 1 == 43: Test content %:else: Test content %:end ''') r = ''' {% if 1 == 43: %} Test content {% else: %} Test content {% endif %} ''' self.assertEqual(s, r) def test_line_block_end2(self): s = self._p(''' %:for i in range(10): Test content %:if i == 32: Test content %:end %:else: Test content %:end ''') r = ''' {% for i in range(10): %} Test content {% if i == 32: %} Test content {% endif %} {% else: %} Test content {% endfor %} ''' self.assertEqual(s, r) def test_normal_block_end(self): s = self._p(''' {% if 1 == 43: %} Test content {% elif: %} Test content {% else: %} Test content {% end %} ''') r = ''' {% if 1 == 43: %} Test content {% elif: %} Test content {% else: %} Test content {% endif %} ''' self.assertEqual(s, r) def test_normal_block_end2(self): s = self._p(''' {% if 1 == 43: %}Test content{% else: %}Test content{% end %} ''') r = ''' {% if 1 == 43: %}Test content{% else: %}Test content{% endif %} ''' self.assertEqual(s, r) def test_trans(self): s = self._p(''' {% trans 23 %} Test {% pluralize %} Tests {% end %} ''') r = ''' {% trans 23 %} Test {% pluralize %} Tests {% endtrans %} ''' self.assertEqual(s, r) def test_mixed_end_and_lines(self): s = self._p(''' {% if 1 == 43: %} {% if 1 == 44: %} Test content {% endif %} Test content {% elif: %} %:if 1 == 23: Test content %:end Test content {% else: %} %:for i in range(10): {% if i == 3 %} Test content {% endif %} %:end Test content {% end %} ''') r = ''' {% if 1 == 43: %} {% if 1 == 44: %} Test content {% endif %} Test content {% elif: %} {% if 1 == 23: %} Test content {% endif %} Test content {% else: %} {% for i in range(10): %} {% if i == 3 %} Test content {% endif %} {% endfor %} Test content {% endif %} ''' self.assertEqual(s, r)