mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-12-05 17:02:32 -05:00
Add RelativedeltaConverter and parse_relativedelta (#5000)
* Added years and months to parse_timedelta * Added new parse_datetimedelta along with classes for relative dates * Switched datetime as dt to just datetime for clarity * Changed to returning relativedelta instead of datetime * Fixed single char typo * After some digging, removed min and max from relative delta b/c of https://github.com/dateutil/dateutil/issues/350 * Add dateutil to intersphinx mapping * Change uppercase D in RelativeDeltaConverter to a lowercase D * Fix cross-references in docstrings * Add new class and methods to __all__ * Remove get_relativedelta_converter() * style * Fix name of parse_relativedelta test * more style * Re-export new class and function in `redbot.core.commands` Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
import inspect
|
||||
import datetime
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
import pytest
|
||||
from discord.ext import commands as dpy_commands
|
||||
|
||||
from redbot.core import commands
|
||||
from redbot.core.commands import converter
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
@@ -49,3 +52,16 @@ def test_dpy_commands_reexports():
|
||||
missing_attrs = dpy_attrs - set(commands.__dict__.keys())
|
||||
|
||||
assert not missing_attrs
|
||||
|
||||
|
||||
def test_converter_timedelta():
|
||||
assert converter.parse_timedelta("1 day") == datetime.timedelta(days=1)
|
||||
assert converter.parse_timedelta("1 minute") == datetime.timedelta(minutes=1)
|
||||
assert converter.parse_timedelta("13 days 5 minutes") == datetime.timedelta(days=13, minutes=5)
|
||||
|
||||
|
||||
def test_converter_relativedelta():
|
||||
assert converter.parse_relativedelta("1 year") == relativedelta(years=1)
|
||||
assert converter.parse_relativedelta("1 year 10 days 3 seconds") == relativedelta(
|
||||
years=1, days=10, seconds=3
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user