Avoided using private API get_template_from_string.

This commit is contained in:
Aymeric Augustin 2014-10-31 11:38:53 +01:00
parent f2ddc439b1
commit c0c1bb9e64
4 changed files with 12 additions and 17 deletions

View File

@ -3,12 +3,12 @@ from __future__ import unicode_literals
import unittest import unittest
from django.template import loader, Context from django.template import Context, Template
class WebdesignTest(unittest.TestCase): class WebdesignTest(unittest.TestCase):
def test_lorem_tag(self): 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({})), self.assertEqual(t.render(Context({})),
'lorem ipsum dolor') 'lorem ipsum dolor')

View File

@ -8,7 +8,7 @@ import shutil
import sys import sys
import unittest import unittest
from django.template import loader, Context from django.template import Context, Template
from django.conf import settings from django.conf import settings
from django.core.cache.backends.base import BaseCache from django.core.cache.backends.base import BaseCache
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
@ -97,7 +97,7 @@ class BaseStaticFilesTestCase(object):
def render_template(self, template, **kwargs): def render_template(self, template, **kwargs):
if isinstance(template, six.string_types): if isinstance(template, six.string_types):
template = loader.get_template_from_string(template) template = Template(template)
return template.render(Context(kwargs)).strip() return template.render(Context(kwargs)).strip()
def static_template_snippet(self, path, asvar=False): def static_template_snippet(self, path, asvar=False):

View File

@ -1,33 +1,28 @@
from unittest import TestCase from unittest import TestCase
from django.template import VariableNode, Context from django.template import Context, Template, VariableNode
from django.template.loader import get_template_from_string
from django.test import override_settings from django.test import override_settings
class NodelistTest(TestCase): class NodelistTest(TestCase):
def test_for(self): def test_for(self):
source = '{% for i in 1 %}{{ a }}{% endfor %}' template = Template('{% for i in 1 %}{{ a }}{% endfor %}')
template = get_template_from_string(source)
vars = template.nodelist.get_nodes_by_type(VariableNode) vars = template.nodelist.get_nodes_by_type(VariableNode)
self.assertEqual(len(vars), 1) self.assertEqual(len(vars), 1)
def test_if(self): def test_if(self):
source = '{% if x %}{{ a }}{% endif %}' template = Template('{% if x %}{{ a }}{% endif %}')
template = get_template_from_string(source)
vars = template.nodelist.get_nodes_by_type(VariableNode) vars = template.nodelist.get_nodes_by_type(VariableNode)
self.assertEqual(len(vars), 1) self.assertEqual(len(vars), 1)
def test_ifequal(self): def test_ifequal(self):
source = '{% ifequal x y %}{{ a }}{% endifequal %}' template = Template('{% ifequal x y %}{{ a }}{% endifequal %}')
template = get_template_from_string(source)
vars = template.nodelist.get_nodes_by_type(VariableNode) vars = template.nodelist.get_nodes_by_type(VariableNode)
self.assertEqual(len(vars), 1) self.assertEqual(len(vars), 1)
def test_ifchanged(self): def test_ifchanged(self):
source = '{% ifchanged x %}{{ a }}{% endifchanged %}' template = Template('{% ifchanged x %}{{ a }}{% endifchanged %}')
template = get_template_from_string(source)
vars = template.nodelist.get_nodes_by_type(VariableNode) vars = template.nodelist.get_nodes_by_type(VariableNode)
self.assertEqual(len(vars), 1) self.assertEqual(len(vars), 1)
@ -51,7 +46,7 @@ class ErrorIndexTest(TestCase):
'five': 5, 'five': 5,
}) })
for source, expected_error_source_index in tests: for source, expected_error_source_index in tests:
template = get_template_from_string(source) template = Template(source)
try: try:
template.render(context) template.render(context)
except (RuntimeError, TypeError) as e: except (RuntimeError, TypeError) as e:

View File

@ -1,6 +1,6 @@
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.template import loader, Context from django.template import Context, Template
from .models import Person from .models import Person
@ -11,7 +11,7 @@ def get_person(request, pk):
def no_template_used(request): 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({}))) return HttpResponse(template.render(Context({})))