diff options
| author | Tim Park <timpark0807@gmail.com> | 2020-07-02 23:01:45 -0700 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-07-16 09:44:28 +0200 |
| commit | 8fa9a6d29efe2622872b4788190ea7c1bcb92019 (patch) | |
| tree | 56525b346db10e2d1297923e881a4ece91e7651e /tests/utils_tests | |
| parent | bde33bdd51b58a63d3e50fab687815968383b86d (diff) | |
Fixed #31623 -- Allowed specifying number of adjacent time units in timesince()/timeuntil().
Diffstat (limited to 'tests/utils_tests')
| -rw-r--r-- | tests/utils_tests/test_timesince.py | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/tests/utils_tests/test_timesince.py b/tests/utils_tests/test_timesince.py index e373b83f43..d30bf00ae9 100644 --- a/tests/utils_tests/test_timesince.py +++ b/tests/utils_tests/test_timesince.py @@ -1,13 +1,13 @@ import datetime -import unittest +from django.test import TestCase from django.test.utils import requires_tz_support from django.utils import timezone, translation from django.utils.timesince import timesince, timeuntil from django.utils.translation import npgettext_lazy -class TimesinceTests(unittest.TestCase): +class TimesinceTests(TestCase): def setUp(self): self.t = datetime.datetime(2007, 8, 14, 13, 46, 0) @@ -140,3 +140,31 @@ class TimesinceTests(unittest.TestCase): t = datetime.datetime(1007, 8, 14, 13, 46, 0) self.assertEqual(timesince(t, self.t), '1000\xa0years') self.assertEqual(timeuntil(self.t, t), '1000\xa0years') + + def test_depth(self): + t = self.t + self.oneyear + self.onemonth + self.oneweek + self.oneday + self.onehour + tests = [ + (t, 1, '1\xa0year'), + (t, 2, '1\xa0year, 1\xa0month'), + (t, 3, '1\xa0year, 1\xa0month, 1\xa0week'), + (t, 4, '1\xa0year, 1\xa0month, 1\xa0week, 1\xa0day'), + (t, 5, '1\xa0year, 1\xa0month, 1\xa0week, 1\xa0day, 1\xa0hour'), + (t, 6, '1\xa0year, 1\xa0month, 1\xa0week, 1\xa0day, 1\xa0hour'), + (self.t + self.onehour, 5, '1\xa0hour'), + (self.t + (4 * self.oneminute), 3, '4\xa0minutes'), + (self.t + self.onehour + self.oneminute, 1, '1\xa0hour'), + (self.t + self.oneday + self.onehour, 1, '1\xa0day'), + (self.t + self.oneweek + self.oneday, 1, '1\xa0week'), + (self.t + self.onemonth + self.oneweek, 1, '1\xa0month'), + (self.t + self.oneyear + self.onemonth, 1, '1\xa0year'), + (self.t + self.oneyear + self.oneweek + self.oneday, 3, '1\xa0year'), + ] + for value, depth, expected in tests: + with self.subTest(): + self.assertEqual(timesince(self.t, value, depth=depth), expected) + self.assertEqual(timeuntil(value, self.t, depth=depth), expected) + + def test_depth_invalid(self): + msg = 'depth must be greater than 0.' + with self.assertRaisesMessage(ValueError, msg): + timesince(self.t, self.t, depth=0) |
