mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from datetime import datetime
 | |
| 
 | |
| from django.template import TemplateSyntaxError
 | |
| from django.test import SimpleTestCase
 | |
| from django.utils.formats import date_format
 | |
| 
 | |
| from ..utils import setup
 | |
| 
 | |
| 
 | |
| class NowTagTests(SimpleTestCase):
 | |
|     @setup({"now01": '{% now "j n Y" %}'})
 | |
|     def test_now01(self):
 | |
|         """
 | |
|         Simple case
 | |
|         """
 | |
|         output = self.engine.render_to_string("now01")
 | |
|         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):
 | |
|         output = self.engine.render_to_string("now02")
 | |
|         self.assertEqual(output, date_format(datetime.now()))
 | |
| 
 | |
|     @setup({"now03": "{% now 'j n Y' %}"})
 | |
|     def test_now03(self):
 | |
|         """
 | |
|         #15092 - Also accept simple quotes
 | |
|         """
 | |
|         output = self.engine.render_to_string("now03")
 | |
|         self.assertEqual(
 | |
|             output,
 | |
|             "%d %d %d"
 | |
|             % (
 | |
|                 datetime.now().day,
 | |
|                 datetime.now().month,
 | |
|                 datetime.now().year,
 | |
|             ),
 | |
|         )
 | |
| 
 | |
|     @setup({"now04": "{% now 'DATE_FORMAT' %}"})
 | |
|     def test_now04(self):
 | |
|         output = self.engine.render_to_string("now04")
 | |
|         self.assertEqual(output, date_format(datetime.now()))
 | |
| 
 | |
|     @setup({"now05": "{% now 'j \"n\" Y'%}"})
 | |
|     def test_now05(self):
 | |
|         output = self.engine.render_to_string("now05")
 | |
|         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):
 | |
|         output = self.engine.render_to_string("now06")
 | |
|         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):
 | |
|         output = self.engine.render_to_string("now07")
 | |
|         self.assertEqual(
 | |
|             output,
 | |
|             "-%d %d %d-"
 | |
|             % (
 | |
|                 datetime.now().day,
 | |
|                 datetime.now().month,
 | |
|                 datetime.now().year,
 | |
|             ),
 | |
|         )
 | |
| 
 | |
|     @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")
 |