diff --git a/arrow/factory.py b/arrow/factory.py index 0913bfe1..dc31c66d 100644 --- a/arrow/factory.py +++ b/arrow/factory.py @@ -196,7 +196,7 @@ def get(self, *args: Any, **kwargs: Any) -> Arrow: arg_count = 3 # tzinfo kwarg is not provided - if len(kwargs) == 1 and tz is None: + if len(kwargs) == 1 and "tzinfo" not in kwargs: arg_count = 3 # () -> now, @ tzinfo or utc diff --git a/tests/test_factory.py b/tests/test_factory.py index 056cee41..682a2243 100644 --- a/tests/test_factory.py +++ b/tests/test_factory.py @@ -346,6 +346,12 @@ def test_tzinfo_string_kwargs(self): result = self.factory.get("2019072807", "YYYYMMDDHH", tzinfo="UTC") assert result._datetime == datetime(2019, 7, 28, 7, 0, 0, 0, tzinfo=tz.tzutc()) + def test_tzinfo_none_kwargs(self): + # regression test for issue #1259 + # passing tzinfo=None explicitly should not raise TypeError + result = self.factory.get("2025-01-01", "YYYY-MM-DD", tzinfo=None) + assert result._datetime == datetime(2025, 1, 1, 0, 0, 0, 0, tzinfo=tz.tzutc()) + def test_insufficient_kwargs(self): with pytest.raises(TypeError): self.factory.get(year=2016)