From a62deb690c5f8fb3ffbd01d77108fdd64944c272 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Thu, 23 Jan 2025 02:59:40 +0000 Subject: [PATCH] Add new ``types`` types to ``_INVALID_BUILTIN_CLASSES`` --- sphinx/util/typing.py | 3 +++ tests/test_util/test_util_typing.py | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/sphinx/util/typing.py b/sphinx/util/typing.py index 9c3fecd64db..ff3328f83fe 100644 --- a/sphinx/util/typing.py +++ b/sphinx/util/typing.py @@ -62,6 +62,7 @@ types.ClassMethodDescriptorType: 'types.ClassMethodDescriptorType', types.CodeType: 'types.CodeType', types.CoroutineType: 'types.CoroutineType', + types.EllipsisType: 'types.EllipsisType', types.FrameType: 'types.FrameType', types.FunctionType: 'types.FunctionType', types.GeneratorType: 'types.GeneratorType', @@ -73,6 +74,8 @@ types.MethodType: 'types.MethodType', types.MethodWrapperType: 'types.MethodWrapperType', types.ModuleType: 'types.ModuleType', + types.NoneType: 'types.NoneType', + types.NotImplementedType: 'types.NotImplementedType', types.TracebackType: 'types.TracebackType', types.WrapperDescriptorType: 'types.WrapperDescriptorType', } diff --git a/tests/test_util/test_util_typing.py b/tests/test_util/test_util_typing.py index f2989d1e764..c892e91ec07 100644 --- a/tests/test_util/test_util_typing.py +++ b/tests/test_util/test_util_typing.py @@ -26,6 +26,7 @@ ClassMethodDescriptorType, CodeType, CoroutineType, + EllipsisType, FrameType, FunctionType, GeneratorType, @@ -37,6 +38,8 @@ MethodType, MethodWrapperType, ModuleType, + NoneType, + NotImplementedType, TracebackType, WrapperDescriptorType, ) @@ -143,6 +146,7 @@ def test_is_invalid_builtin_class(): ClassMethodDescriptorType, CodeType, CoroutineType, + EllipsisType, FrameType, FunctionType, GeneratorType, @@ -154,6 +158,8 @@ def test_is_invalid_builtin_class(): MethodType, MethodWrapperType, ModuleType, + NoneType, + NotImplementedType, TracebackType, WrapperDescriptorType, } @@ -179,6 +185,7 @@ def test_is_invalid_builtin_class(): assert ClassMethodDescriptorType.__module__ == 'builtins' assert CodeType.__module__ == 'builtins' assert CoroutineType.__module__ == 'builtins' + assert EllipsisType.__module__ == 'builtins' assert FrameType.__module__ == 'builtins' assert FunctionType.__module__ == 'builtins' assert GeneratorType.__module__ == 'builtins' @@ -190,6 +197,8 @@ def test_is_invalid_builtin_class(): assert MethodType.__module__ == 'builtins' assert MethodWrapperType.__module__ == 'builtins' assert ModuleType.__module__ == 'builtins' + assert NoneType.__module__ == 'builtins' + assert NotImplementedType.__module__ == 'builtins' assert TracebackType.__module__ == 'builtins' assert WrapperDescriptorType.__module__ == 'builtins'