3
0
Fork 0

fix: add html flag param for app.render_datetime()

This commit is contained in:
Lance Edgar 2025-12-29 14:07:40 -06:00
parent 7ebaaa1d91
commit ab0a6e72fe
3 changed files with 57 additions and 32 deletions

View file

@ -595,38 +595,42 @@ app_title = WuttaTest
self.assertEqual(self.app.render_date(dt), "2024-12-11")
def test_render_datetime(self):
self.config.setdefault("wuttatest.timezone.default", "America/Los_Angeles")
tzlocal = get_timezone_by_name("America/Los_Angeles")
with patch.object(self.app, "get_timezone", return_value=tzlocal):
# null value
self.assertEqual(self.app.render_datetime(None), "")
# null value
self.assertEqual(self.app.render_datetime(None), "")
# naive UTC
dt = datetime.datetime(2024, 12, 17, 1, 12)
self.assertEqual(
self.app.render_datetime(dt, local=True), "2024-12-16 17:12-0800"
)
self.assertEqual(
self.app.render_datetime(dt, local=False), "2024-12-17 01:12"
)
# naive UTC
dt = datetime.datetime(2024, 12, 17, 1, 12)
self.assertEqual(
self.app.render_datetime(dt, local=True), "2024-12-16 17:12-0800"
)
self.assertEqual(self.app.render_datetime(dt, local=False), "2024-12-17 01:12")
# aware UTC
dt = datetime.datetime(2024, 12, 17, 1, 12, tzinfo=datetime.timezone.utc)
self.assertEqual(
self.app.render_datetime(dt, local=True), "2024-12-16 17:12-0800"
)
self.assertEqual(
self.app.render_datetime(dt, local=False), "2024-12-17 01:12+0000"
)
# aware UTC
dt = datetime.datetime(2024, 12, 17, 1, 12, tzinfo=datetime.timezone.utc)
self.assertEqual(
self.app.render_datetime(dt, local=True), "2024-12-16 17:12-0800"
)
self.assertEqual(
self.app.render_datetime(dt, local=False), "2024-12-17 01:12+0000"
)
# aware local
dt = datetime.datetime(2024, 12, 16, 19, 12, tzinfo=tzlocal)
self.assertEqual(
self.app.render_datetime(dt, local=True), "2024-12-16 19:12-0800"
)
self.assertEqual(
self.app.render_datetime(dt, local=False), "2024-12-16 19:12-0800"
)
# aware local
dt = datetime.datetime(2024, 12, 16, 19, 12, tzinfo=tzlocal)
self.assertEqual(
self.app.render_datetime(dt, local=True), "2024-12-16 19:12-0800"
)
self.assertEqual(
self.app.render_datetime(dt, local=False), "2024-12-16 19:12-0800"
)
# as html
dt = datetime.datetime(2024, 12, 16, 19, 12, tzinfo=tzlocal)
html = self.app.render_datetime(dt, local=True, html=True)
self.assertTrue(html.startswith('<span title="'))
self.assertIn("2024-12-16 19:12-0800", html)
def test_render_error(self):