Пример #1
0
    def test_django_statement_safety(self):
        content = (u"""<b {% if search.quarter == 'summer' %} """
                   """selected="selected"{% endif %} />""")

        result = process_template_content(content, is_html=True)
        expected = (u"<b {% if search.quarter == 'summer' %} "
                    u"selected=selected {% endif %} />")
        self.assertEquals(result, expected)

        content = u"""<input type="text" value="{{ foo.bar }}">"""
        result = process_template_content(content, is_html=True)
        self.assertEquals(result, '<input type=text value="{{ foo.bar }}">')

        content = u"""<input type="text" value='{{ foo.bar }}'>"""
        result = process_template_content(content, is_html=True)
        self.assertEquals(result, "<input type=text value='{{ foo.bar }}'>")
    def test_multiline_block(self):
        content = '{% include "extends/multiline.html" %}'
        result = process_template_content(content)

        correct = 'Before {%block ok%}Line 1 Line 2{%endblock%} '

        self.assertEquals(result, correct)
Пример #3
0
    def test_inline(self):
        content = (u'{% compress css inline %}<link rel="stylesheet" '
                   u'href="/static/foo.css">{% endcompress %}')
        result = process_template_content(content, is_html=True)

        self.assertEquals(
            '<style type=text/css>#foo { color: red; }\n</style>', result)
    def test_load_tag_outside_of_block(self):
        content = '{% include "extends/load_tag_out_of_block.html" %}'
        result = process_template_content(content)

        correct = ('{% load another more from app.templatetags %}'
                   '{% load i18n %}Before {% block content %}'
                   'The content{% endblock %} After ')
        self.assertEquals(result, correct)
    def test_basic_block(self):
        content = '{% include "extends/sub_template1.html" %}'
        result = process_template_content(content)

        correct = ('Before {% block inserted_content %}The Block'
                   '{%endblock inserted_content%} {% block block2 %}'
                   'Block 2{%endblock block2 %} {% block notreplaced %}'
                   'In wrapper{%endblock%} After ')
        self.assertEquals(result, correct)
Пример #6
0
    def test_basic(self):
        content = (u'{% compress css %}<link rel="stylesheet" '
                   u'href="/static/foo.css">{% endcompress %}')
        result = process_template_content(content, is_html=True)

        self.assertTrue(
            re.match(
                r'<link rel=stylesheet href=/static/CACHE/css/[a-z0-9]+.css',
                result))
Пример #7
0
    def test_handlebars_safety(self):
        content = (u'<div {{#if has_6_days}}class="six-day"{{else}}'
                   u'class="five-day"{{/if}}></div>'
                   u'<div {{#if has_6_days}}class="six-day"{{else}}'
                   u'class="five-day"{{ /if }}></div>')
        result = process_template_content(content, is_html=True)

        correct = (u'<div {{#if has_6_days}}class=six-day {{else}}'
                   u'class=five-day {{/if}}></div>'
                   u'<div {{#if has_6_days}}class=six-day {{else}}'
                   u'class=five-day {{ /if }}></div>')

        self.assertEquals(result, correct)
    def handle(self, *args, **options):
        templates = get_templates()
        ldr = Loader()
        for template in templates:
            destination_path = os.path.join(settings.COMPILED_TEMPLATE_PATH,
                                            template)

            try:
                os.makedirs(os.path.dirname(destination_path))
            except OSError:
                pass

            if True or template == "index.html":
                content = ldr.get_template_content(template)
                is_html = filename_is_html(template)
                content = process_template_content(content, is_html=is_html)

                with codecs.open(destination_path, mode="w",
                                 encoding='utf-8') as destination_handle:
                    destination_handle.write(content)
Пример #9
0
    def test_error_include(self):
        content = '{%include "includes/DOESNT_EXIST.html"%}'
        result = process_template_content(content)

        self.assertEquals(result, content)
 def test_extends_missing_template(self):
     content = '{% include "extends/parent_is_missing.html" %}'
     result = process_template_content(content)
     self.assertEquals(result, content)
Пример #11
0
    def test_nested(self):
        content = '{%include "includes/nested_1.html"%}'
        result = process_template_content(content)

        self.assertEquals(result, "1 2 ")
Пример #12
0
    def test_recursion(self):
        content = '{%include "includes/include_recursion.html"%}'
        result = process_template_content(content)

        self.assertEquals(result, content)
Пример #13
0
    def test_include(self):
        content = '{%include "includes/include1.html"%}'
        result = process_template_content(content)

        self.assertEquals(result, "included template ")
Пример #14
0
    def test_single_quotes(self):
        content = "{%include 'includes/include1.html'%}"
        result = process_template_content(content)

        self.assertEquals(result, "included template ")
Пример #15
0
    def test_nested_statement_safety(self):
        content = u"""<div class="{{#if a}}a{{else}}b{{/if}}">"""

        result = process_template_content(content, is_html=True)

        self.assertEquals(result, '<div class="{{#if a}}a{{else}}b{{/if}}">')
 def test_recursive_extends(self):
     content = '{% include "extends/recursive.html" %}'
     result = process_template_content(content)
     self.assertEquals(result, content)
 def test_nested_blocks(self):
     content = '{% include "extends/nested.html" %}'
     result = process_template_content(content)
     self.assertEquals(
         result,
         '{% block a %}{% block b %}{% endblock b %}{% endblock %} ')
Пример #18
0
    def test_minify_fragment(self):
        # Needs to be unicode content from htmlmin
        content = u"<b>  <i ></i>   \n</b>"
        result = process_template_content(content, is_html=True)

        self.assertEquals(result, "<b> <i></i> </b>")
Пример #19
0
    def test_static_tag(self):
        content = '{% static "some/file.css" %}'
        result = process_template_content(content, is_html=True)

        correct = "/non-standard/path/some/file.css"
        self.assertEquals(result, correct)