Files
deb-python-jingo/jingo/tests/test_basics.py
Christopher Grebs d1fab2b99b Fix has_helpers to use proper arguments.
* Fixes python 2.7, 3.3 and 3.4 compatbility
2016-01-07 11:19:36 +01:00

56 lines
1.5 KiB
Python

from __future__ import unicode_literals
from django.shortcuts import render
import jinja2
from nose.tools import eq_
try:
from unittest.mock import Mock, patch, sentinel
except ImportError:
from mock import Mock, patch, sentinel
import jingo
from .utils import render as render_string
@patch('jingo.get_env')
def test_render(mock_get_env):
mock_template = Mock()
mock_env = Mock()
mock_env.get_template.return_value = mock_template
mock_get_env.return_value = mock_env
response = render(Mock(), sentinel.template, status=32)
mock_env.get_template.assert_called_with(sentinel.template)
assert mock_template.render.called
eq_(response.status_code, 32)
@patch('jingo.get_env')
def test_render_to_string(mock_get_env):
template = jinja2.environment.Template('The answer is {{ answer }}')
rendered = jingo.render_to_string(Mock(), template, {'answer': 42})
eq_(rendered, 'The answer is 42')
def test_inclusion_tag():
@jingo.register.inclusion_tag('xx.html')
def tag(x):
return {'z': x}
env = jingo.get_env()
with patch.object(env, 'get_template') as mock_get_template:
temp = jinja2.environment.Template('<{{ z }}>')
mock_get_template.return_value = temp
t = env.from_string('{{ tag(1) }}')
eq_('<1>', t.render())
def test_helpers_loaded():
"""Test that helpers are loaded correctly."""
s = render_string('{{ "something"|test_filter }}', {})
eq_('Success!', s)