#! -*- coding: utf-8 -*-
#
#
#
from django.contrib.sites.models import Site
from django.test import TestCase, override_settings
from django.template import Template, Context
from unittest.mock import MagicMock
[ドキュメント]class ActiveTemplateTagTestCase(TestCase):
[ドキュメント] def test_active(self):
'''
activeタグのpatternが現在のURLとマッチしたとき、activeの文字を返す
'''
t = Template(
"""{% load utils %}"""
"""{% active pattern %}"""
)
request = MagicMock()
request.path = '/members/giginet/'
c = Context({
'request': request,
'pattern': '^/members/.+/$'
})
render = t.render(c)
self.assertEqual(render, 'active')
[ドキュメント] def test_active_contains_get_parameter(self):
"""
activeタグはGETパラメータの値も含む
"""
t = Template(
"""{% load utils %}"""
"""{% active pattern %}"""
)
request = MagicMock()
request.path = '/members/?o=username$'
c = Context({
'request': request,
'pattern': '.+?o=username'
})
render = t.render(c)
self.assertEqual(render, 'active')
[ドキュメント] def test_active_with_not_matched_pattern(self):
'''
activeタグのpatternが現在のURLとマッチしないとき、空白文字を返す
'''
t = Template(
"""{% load utils %}"""
"""{% active pattern %}"""
)
request = MagicMock()
request.path = '/projects/giginet/'
c = Context({
'request': request,
'pattern': '^/members/.+/$'
})
render = t.render(c)
self.assertEqual(render, '')
[ドキュメント]class GetWeekDayTemplateTagTestCase(TestCase):
[ドキュメント] def test_weekday(self):
'''
get_week_dayで平日だったときにweekdayを返す
'''
import datetime
t = Template(
"""{% load utils %}"""
"""{% get_week_day datetime %}"""
)
request = MagicMock()
c = Context({
'request': request,
'datetime': datetime.datetime(2014, 9, 22)
})
render = t.render(c)
self.assertEqual(render, 'weekday')
[ドキュメント] def test_saturday(self):
'''
get_week_dayで土曜だったときにsaturdayを返す
'''
import datetime
t = Template(
"""{% load utils %}"""
"""{% get_week_day datetime %}"""
)
request = MagicMock()
c = Context({
'request': request,
'datetime': datetime.datetime(2014, 9, 20)
})
render = t.render(c)
self.assertEqual(render, 'saturday')
[ドキュメント] def test_sunday(self):
'''
get_week_dayで日曜だったときにsundayを返す
'''
import datetime
t = Template(
"""{% load utils %}"""
"""{% get_week_day datetime %}"""
)
request = MagicMock()
c = Context({
'request': request,
'datetime': datetime.datetime(2014, 9, 21)
})
render = t.render(c)
self.assertEqual(render, 'sunday')
[ドキュメント]class GetCurrentSiteTagTestCase(TestCase):
[ドキュメント] def test_get_current_site(self):
'''
get_current_siteで現在のSiteを返す
'''
t = Template(
"""{% load utils %}"""
"""{% get_current_site as site %}"""
)
request = MagicMock()
c = Context({
'request': request
})
render = t.render(c)
self.assertEqual(render, '')
self.assertEqual(c['site'], Site.objects.get_current())