2014-11-12 09:32:44 +08:00
|
|
|
from django.template.base import TemplateSyntaxError
|
|
|
|
from django.template.loader import get_template
|
2014-12-04 04:36:17 +08:00
|
|
|
from django.test import SimpleTestCase
|
2014-11-12 09:32:44 +08:00
|
|
|
|
2014-12-04 10:21:11 +08:00
|
|
|
from ..utils import render, setup
|
2014-11-12 09:32:44 +08:00
|
|
|
|
|
|
|
|
2014-12-04 04:36:17 +08:00
|
|
|
class LoadTagTests(SimpleTestCase):
|
2014-11-12 09:32:44 +08:00
|
|
|
|
|
|
|
@setup({'load01': '{% load testtags subpackage.echo %}{% echo test %} {% echo2 "test" %}'})
|
|
|
|
def test_load01(self):
|
|
|
|
output = render('load01')
|
|
|
|
self.assertEqual(output, 'test test')
|
|
|
|
|
|
|
|
@setup({'load02': '{% load subpackage.echo %}{% echo2 "test" %}'})
|
|
|
|
def test_load02(self):
|
|
|
|
output = render('load02')
|
|
|
|
self.assertEqual(output, 'test')
|
|
|
|
|
|
|
|
# {% load %} tag, importing individual tags
|
|
|
|
@setup({'load03': '{% load echo from testtags %}{% echo this that theother %}'})
|
|
|
|
def test_load03(self):
|
|
|
|
output = render('load03')
|
|
|
|
self.assertEqual(output, 'this that theother')
|
|
|
|
|
|
|
|
@setup({'load04': '{% load echo other_echo from testtags %}'
|
|
|
|
'{% echo this that theother %} {% other_echo and another thing %}'})
|
|
|
|
def test_load04(self):
|
|
|
|
output = render('load04')
|
|
|
|
self.assertEqual(output, 'this that theother and another thing')
|
|
|
|
|
|
|
|
@setup({'load05': '{% load echo upper from testtags %}'
|
|
|
|
'{% echo this that theother %} {{ statement|upper }}'})
|
|
|
|
def test_load05(self):
|
|
|
|
output = render('load05', {'statement': 'not shouting'})
|
|
|
|
self.assertEqual(output, 'this that theother NOT SHOUTING')
|
|
|
|
|
|
|
|
@setup({'load06': '{% load echo2 from subpackage.echo %}{% echo2 "test" %}'})
|
|
|
|
def test_load06(self):
|
|
|
|
output = render('load06')
|
|
|
|
self.assertEqual(output, 'test')
|
|
|
|
|
|
|
|
# {% load %} tag errors
|
|
|
|
@setup({'load07': '{% load echo other_echo bad_tag from testtags %}'})
|
|
|
|
def test_load07(self):
|
|
|
|
with self.assertRaises(TemplateSyntaxError):
|
|
|
|
get_template('load07')
|
|
|
|
|
|
|
|
@setup({'load08': '{% load echo other_echo bad_tag from %}'})
|
|
|
|
def test_load08(self):
|
|
|
|
with self.assertRaises(TemplateSyntaxError):
|
|
|
|
get_template('load08')
|
|
|
|
|
|
|
|
@setup({'load09': '{% load from testtags %}'})
|
|
|
|
def test_load09(self):
|
|
|
|
with self.assertRaises(TemplateSyntaxError):
|
|
|
|
get_template('load09')
|
|
|
|
|
|
|
|
@setup({'load10': '{% load echo from bad_library %}'})
|
|
|
|
def test_load10(self):
|
|
|
|
with self.assertRaises(TemplateSyntaxError):
|
|
|
|
get_template('load10')
|
|
|
|
|
|
|
|
@setup({'load11': '{% load subpackage.echo_invalid %}'})
|
|
|
|
def test_load11(self):
|
|
|
|
with self.assertRaises(TemplateSyntaxError):
|
|
|
|
get_template('load11')
|
|
|
|
|
|
|
|
@setup({'load12': '{% load subpackage.missing %}'})
|
|
|
|
def test_load12(self):
|
|
|
|
with self.assertRaises(TemplateSyntaxError):
|
|
|
|
get_template('load12')
|