diff --git a/dateparser/date.py b/dateparser/date.py index b49096e18..bb7f181da 100644 --- a/dateparser/date.py +++ b/dateparser/date.py @@ -358,8 +358,8 @@ def __init__(self, languages=None, locales=None, region=None, try_previous_local raise TypeError("use_given_order argument must be a boolean (%r given)" % type(use_given_order)) - if not locales and use_given_order: - raise ValueError("locales must be given if use_given_order is True") + if not locales and not languages and use_given_order: + raise ValueError("locales or languages must be given if use_given_order is True") check_settings(settings) diff --git a/tests/test_date.py b/tests/test_date.py index 70dff744a..7ea636663 100644 --- a/tests/test_date.py +++ b/tests/test_date.py @@ -652,10 +652,13 @@ def test_error_raised_for_invalid_use_given_order_argument(self, use_given_order TypeError, ["use_given_order argument must be a boolean (%r given)" % type(use_given_order)]) - def test_error_is_raised_when_use_given_order_is_True_and_locales_is_None(self): + def test_error_is_raised_when_use_given_order_is_True_and_locales_and_languages_is_None(self): self.when_parser_is_initialized(use_given_order=True) self.then_error_was_raised( - ValueError, ["locales must be given if use_given_order is True"]) + ValueError, ["locales or languages must be given if use_given_order is True"]) + + def test_no_error_for_order_with_languages_without_locales(self): + self.when_parser_is_initialized(languages=['en', 'fr'], use_given_order=True) def when_parser_is_initialized(self, languages=None, locales=None, region=None, try_previous_locales=True, use_given_order=False):