diff options
| author | Matthew Schinckel <matt@schinckel.net> | 2017-04-13 11:33:35 +0930 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-07-03 19:53:19 -0400 |
| commit | 493f7e9e1ed7d68df102de6c5926a55521b145c9 (patch) | |
| tree | 94931916eb01113ac1398b3b083f5e431f052f8e /tests/utils_tests | |
| parent | 684c0a35f620a3754639b4cbadad16b7560b7c41 (diff) | |
Fixed #28076 -- Added support for PostgreSQL's interval format to parse_duration().
Diffstat (limited to 'tests/utils_tests')
| -rw-r--r-- | tests/utils_tests/test_dateparse.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/utils_tests/test_dateparse.py b/tests/utils_tests/test_dateparse.py index 7127e812ae..8d464278ce 100644 --- a/tests/utils_tests/test_dateparse.py +++ b/tests/utils_tests/test_dateparse.py @@ -65,6 +65,21 @@ class DurationParseTests(unittest.TestCase): with self.subTest(delta=delta): self.assertEqual(parse_duration(format(delta)), delta) + def test_parse_postgresql_format(self): + test_values = ( + ('1 day', timedelta(1)), + ('1 day 0:00:01', timedelta(days=1, seconds=1)), + ('1 day -0:00:01', timedelta(days=1, seconds=-1)), + ('-1 day -0:00:01', timedelta(days=-1, seconds=-1)), + ('-1 day +0:00:01', timedelta(days=-1, seconds=1)), + ('4 days 0:15:30.1', timedelta(days=4, minutes=15, seconds=30, milliseconds=100)), + ('4 days 0:15:30.0001', timedelta(days=4, minutes=15, seconds=30, microseconds=100)), + ('-4 days -15:00:30', timedelta(days=-4, hours=-15, seconds=-30)), + ) + for source, expected in test_values: + with self.subTest(source=source): + self.assertEqual(parse_duration(source), expected) + def test_seconds(self): self.assertEqual(parse_duration('30'), timedelta(seconds=30)) |
