Commit 12bace46 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

[1.7.x] Avoided using private API get_template_from_string.

Conflicts:
	django/contrib/webdesign/tests.py

Backport of c0c1bb9e from master.
parent 31d1ccca
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ from __future__ import unicode_literals
import unittest

from django.contrib.webdesign.lorem_ipsum import paragraphs, words
from django.template import loader, Context
from django.template import Context, Template


class WebdesignTest(unittest.TestCase):
@@ -17,6 +17,6 @@ class WebdesignTest(unittest.TestCase):
                         ['Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'])

    def test_lorem_tag(self):
        t = loader.get_template_from_string("{% load webdesign %}{% lorem 3 w %}")
        t = Template("{% load webdesign %}{% lorem 3 w %}")
        self.assertEqual(t.render(Context({})),
                         'lorem ipsum dolor')
+2 −2
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ import sys
import tempfile
import unittest

from django.template import loader, Context
from django.template import Context, Template
from django.conf import settings
from django.core.cache.backends.base import BaseCache
from django.core.exceptions import ImproperlyConfigured
@@ -89,7 +89,7 @@ class BaseStaticFilesTestCase(object):

    def render_template(self, template, **kwargs):
        if isinstance(template, six.string_types):
            template = loader.get_template_from_string(template)
            template = Template(template)
        return template.render(Context(kwargs)).strip()

    def static_template_snippet(self, path, asvar=False):
+6 −11
Original line number Diff line number Diff line
from unittest import TestCase

from django.template import VariableNode, Context
from django.template.loader import get_template_from_string
from django.template import Context, Template, VariableNode
from django.test import override_settings


class NodelistTest(TestCase):

    def test_for(self):
        source = '{% for i in 1 %}{{ a }}{% endfor %}'
        template = get_template_from_string(source)
        template = Template('{% for i in 1 %}{{ a }}{% endfor %}')
        vars = template.nodelist.get_nodes_by_type(VariableNode)
        self.assertEqual(len(vars), 1)

    def test_if(self):
        source = '{% if x %}{{ a }}{% endif %}'
        template = get_template_from_string(source)
        template = Template('{% if x %}{{ a }}{% endif %}')
        vars = template.nodelist.get_nodes_by_type(VariableNode)
        self.assertEqual(len(vars), 1)

    def test_ifequal(self):
        source = '{% ifequal x y %}{{ a }}{% endifequal %}'
        template = get_template_from_string(source)
        template = Template('{% ifequal x y %}{{ a }}{% endifequal %}')
        vars = template.nodelist.get_nodes_by_type(VariableNode)
        self.assertEqual(len(vars), 1)

    def test_ifchanged(self):
        source = '{% ifchanged x %}{{ a }}{% endifchanged %}'
        template = get_template_from_string(source)
        template = Template('{% ifchanged x %}{{ a }}{% endifchanged %}')
        vars = template.nodelist.get_nodes_by_type(VariableNode)
        self.assertEqual(len(vars), 1)

@@ -51,7 +46,7 @@ class ErrorIndexTest(TestCase):
            'five': 5,
        })
        for source, expected_error_source_index in tests:
            template = get_template_from_string(source)
            template = Template(source)
            try:
                template.render(context)
            except (RuntimeError, TypeError) as e:
+2 −2
Original line number Diff line number Diff line
from django.http import HttpResponse
from django.shortcuts import get_object_or_404
from django.template import loader, Context
from django.template import Context, Template

from .models import Person

@@ -11,5 +11,5 @@ def get_person(request, pk):


def no_template_used(request):
    template = loader.get_template_from_string("This is a string-based template")
    template = Template("This is a string-based template")
    return HttpResponse(template.render(Context({})))