2014-11-12 01:32:44 +00:00
|
|
|
from datetime import datetime
|
|
|
|
|
2018-03-24 20:38:20 +00:00
|
|
|
from django.template import TemplateSyntaxError
|
2014-12-03 20:36:17 +00:00
|
|
|
from django.test import SimpleTestCase
|
2014-11-12 01:32:44 +00:00
|
|
|
from django.utils.formats import date_format
|
|
|
|
|
2014-12-07 08:43:10 +00:00
|
|
|
from ..utils import setup
|
2014-11-12 01:32:44 +00:00
|
|
|
|
|
|
|
|
2014-12-03 20:36:17 +00:00
|
|
|
class NowTagTests(SimpleTestCase):
|
2014-11-12 01:32:44 +00:00
|
|
|
|
|
|
|
@setup({'now01': '{% now "j n Y" %}'})
|
|
|
|
def test_now01(self):
|
|
|
|
"""
|
|
|
|
Simple case
|
|
|
|
"""
|
2014-12-07 08:43:10 +00:00
|
|
|
output = self.engine.render_to_string('now01')
|
2014-11-12 01:32:44 +00:00
|
|
|
self.assertEqual(output, "%d %d %d" % (
|
|
|
|
datetime.now().day, datetime.now().month, datetime.now().year,
|
|
|
|
))
|
|
|
|
|
|
|
|
# Check parsing of locale strings
|
|
|
|
@setup({'now02': '{% now "DATE_FORMAT" %}'})
|
|
|
|
def test_now02(self):
|
2014-12-07 08:43:10 +00:00
|
|
|
output = self.engine.render_to_string('now02')
|
2014-11-12 01:32:44 +00:00
|
|
|
self.assertEqual(output, date_format(datetime.now()))
|
|
|
|
|
|
|
|
@setup({'now03': '{% now \'j n Y\' %}'})
|
|
|
|
def test_now03(self):
|
|
|
|
"""
|
|
|
|
#15092 - Also accept simple quotes
|
|
|
|
"""
|
2014-12-07 08:43:10 +00:00
|
|
|
output = self.engine.render_to_string('now03')
|
2014-11-12 01:32:44 +00:00
|
|
|
self.assertEqual(output, "%d %d %d" % (
|
|
|
|
datetime.now().day, datetime.now().month, datetime.now().year,
|
|
|
|
))
|
|
|
|
|
|
|
|
@setup({'now04': '{% now \'DATE_FORMAT\' %}'})
|
|
|
|
def test_now04(self):
|
2014-12-07 08:43:10 +00:00
|
|
|
output = self.engine.render_to_string('now04')
|
2014-11-12 01:32:44 +00:00
|
|
|
self.assertEqual(output, date_format(datetime.now()))
|
|
|
|
|
|
|
|
@setup({'now05': '{% now \'j "n" Y\'%}'})
|
|
|
|
def test_now05(self):
|
2014-12-07 08:43:10 +00:00
|
|
|
output = self.engine.render_to_string('now05')
|
2014-11-12 01:32:44 +00:00
|
|
|
self.assertEqual(output, '%d "%d" %d' % (
|
|
|
|
datetime.now().day, datetime.now().month, datetime.now().year,
|
|
|
|
))
|
|
|
|
|
|
|
|
@setup({'now06': '{% now "j \'n\' Y"%}'})
|
|
|
|
def test_now06(self):
|
2014-12-07 08:43:10 +00:00
|
|
|
output = self.engine.render_to_string('now06')
|
2014-11-12 01:32:44 +00:00
|
|
|
self.assertEqual(output, "%d '%d' %d" % (
|
|
|
|
datetime.now().day, datetime.now().month, datetime.now().year,
|
|
|
|
))
|
|
|
|
|
|
|
|
@setup({'now07': '{% now "j n Y" as N %}-{{N}}-'})
|
|
|
|
def test_now07(self):
|
2014-12-07 08:43:10 +00:00
|
|
|
output = self.engine.render_to_string('now07')
|
2014-11-12 01:32:44 +00:00
|
|
|
self.assertEqual(output, '-%d %d %d-' % (
|
|
|
|
datetime.now().day, datetime.now().month, datetime.now().year,
|
|
|
|
))
|
2018-03-24 20:38:20 +00:00
|
|
|
|
|
|
|
@setup({'no_args': '{% now %}'})
|
|
|
|
def test_now_args(self):
|
|
|
|
with self.assertRaisesMessage(TemplateSyntaxError, "'now' statement takes one argument"):
|
|
|
|
self.engine.render_to_string('no_args')
|