From 4d6aa6a7ca055a6b295813628493e60fdf7cd418 Mon Sep 17 00:00:00 2001 From: Sai Asish Y Date: Tue, 12 May 2026 17:10:04 -0700 Subject: [PATCH] fix: raise ParserError for empty string in parse() --- src/pendulum/parsing/__init__.py | 2 +- tests/parsing/test_parsing.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pendulum/parsing/__init__.py b/src/pendulum/parsing/__init__.py index 20ebed40..d88c089a 100644 --- a/src/pendulum/parsing/__init__.py +++ b/src/pendulum/parsing/__init__.py @@ -145,7 +145,7 @@ def _parse_common(text: str, **options: Any) -> datetime | date | time: month = 1 day = 1 - if not m: + if not m or not (m.group("date") or m.group("time")): raise ParserError("Invalid datetime string") if m.group("date"): diff --git a/tests/parsing/test_parsing.py b/tests/parsing/test_parsing.py index 0fa0e936..8151ce12 100644 --- a/tests/parsing/test_parsing.py +++ b/tests/parsing/test_parsing.py @@ -684,6 +684,11 @@ def test_invalid(): parse(text) +def test_parse_empty_string(): + with pytest.raises(ParserError): + parse("") + + def test_exif_edge_case(): text = "2016:12:26 15:45:28"