From 1e4a650171d906b7736c37ec8b49c62770f0ea5b Mon Sep 17 00:00:00 2001 From: andrew000 <11490628+andrew000@users.noreply.github.com> Date: Tue, 23 Dec 2025 09:41:33 +0200 Subject: [PATCH] Add test to reproduce `TypeError: unsupported callable` on `python >=3.14` --- .../test_1741_forward_ref_in_callbacks.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 tests/test_issues/test_1741_forward_ref_in_callbacks.py diff --git a/tests/test_issues/test_1741_forward_ref_in_callbacks.py b/tests/test_issues/test_1741_forward_ref_in_callbacks.py new file mode 100644 index 00000000..cf3fdde8 --- /dev/null +++ b/tests/test_issues/test_1741_forward_ref_in_callbacks.py @@ -0,0 +1,27 @@ +from sys import version_info +from typing import TYPE_CHECKING + +import pytest + +from aiogram.dispatcher.event.handler import HandlerObject + + +@pytest.mark.skipif( + version_info < (3, 14), reason="Requires Python >=3.14 for TypeError on unresolved ForwardRef" +) +def test_forward_ref_in_callback(): + if TYPE_CHECKING: + from aiogram.types import Message + + def my_handler(message: Message): + pass + + HandlerObject(callback=my_handler) + + +def test_forward_ref_in_callback_with_str_annotation(): + def my_handler(message: "Message"): + pass + + handler = HandlerObject(callback=my_handler) + assert "message" in handler.params