gadjo/tests/test_templatetags.py

35 lines
1.2 KiB
Python

import html
import urllib
from django.template import Context, Template
from django.test.client import RequestFactory
def test_start_timestamp():
t = Template('{% start_timestamp %}')
assert t.render(Context())
def test_querystring():
t = Template('{% querystring "name"="Ayers" "age"=20 %}')
ctx = Context({'request': RequestFactory().get('/')})
assert urllib.parse.parse_qs(urllib.parse.urlparse(html.unescape(t.render(ctx))).query) == {
'age': ['20'],
'name': ['Ayers'],
}
ctx = Context({'request': RequestFactory().get('/?age=10')})
assert urllib.parse.parse_qs(urllib.parse.urlparse(html.unescape(t.render(ctx))).query) == {
'age': ['20'],
'name': ['Ayers'],
}
t = Template('{% querystring "name"="Ayers" without "gender" %}')
ctx = Context({'request': RequestFactory().get('/')})
assert urllib.parse.parse_qs(urllib.parse.urlparse(html.unescape(t.render(ctx))).query) == {
'name': ['Ayers']
}
ctx = Context({'request': RequestFactory().get('/?gender=male')})
assert urllib.parse.parse_qs(urllib.parse.urlparse(html.unescape(t.render(ctx))).query) == {
'name': ['Ayers']
}