From 56ab5d32a5b72b3cb717a73e72f8adbe02206d7a Mon Sep 17 00:00:00 2001 From: Henddher Pedroza Date: Thu, 24 Oct 2019 21:10:46 -0400 Subject: [PATCH] Fix issue in validatorfuncs.timedelta() in which days and years (in days) aren't added to create datetime.timedelta(days=days, ...) --- evennia/utils/tests/test_validatorfuncs.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/evennia/utils/tests/test_validatorfuncs.py b/evennia/utils/tests/test_validatorfuncs.py index 4a16c25be8..0c1b87e40e 100644 --- a/evennia/utils/tests/test_validatorfuncs.py +++ b/evennia/utils/tests/test_validatorfuncs.py @@ -44,10 +44,13 @@ class TestValidatorFuncs(TestCase): self.assertTrue( isinstance(validatorfuncs.duration(d), datetime.timedelta)) - # THE FOLLOWING FAILS, year calculation seems to be incorrect - # self.assertEqual( - # datetime.timedelta(1+5*365, 2, 0, 0, 3, 4, 5), - # validatorfuncs.duration('1d 2s 3m 4h 5w 5y')) + self.assertEqual( + datetime.timedelta(1+6*365, 2, 0, 0, 3, 4, 5), + validatorfuncs.duration('1d 2s 3m 4h 5w 6y')) + # values may be duplicated + self.assertEqual( + datetime.timedelta((1+7)+(6+12)*365, 2+8, 0, 0, 3+9, 4+10, 5+11), + validatorfuncs.duration('1d 2s 3m 4h 5w 6y 7d 8s 9m 10h 11w 12y')) def test_duration_raises_ValueError(self): for d in ['', '1', '5days', '1Week']: