diff options
Diffstat (limited to 'tests/test_util_inspect.py')
-rw-r--r-- | tests/test_util_inspect.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/test_util_inspect.py b/tests/test_util_inspect.py index e87e94f1d..72c985f34 100644 --- a/tests/test_util_inspect.py +++ b/tests/test_util_inspect.py @@ -19,7 +19,7 @@ import _testcapi import pytest from sphinx.util import inspect -from sphinx.util.inspect import is_builtin_class_method, stringify_signature +from sphinx.util.inspect import stringify_signature def test_signature(): @@ -490,6 +490,28 @@ def test_dict_customtype(): assert "<CustomType(2)>: 2" in description +def test_getslots(): + class Foo: + pass + + class Bar: + __slots__ = ['attr'] + + class Baz: + __slots__ = {'attr': 'docstring'} + + class Qux: + __slots__ = 'attr' + + assert inspect.getslots(Foo) is None + assert inspect.getslots(Bar) == {'attr': None} + assert inspect.getslots(Baz) == {'attr': 'docstring'} + assert inspect.getslots(Qux) == {'attr': None} + + with pytest.raises(TypeError): + inspect.getslots(Bar()) + + @pytest.mark.sphinx(testroot='ext-autodoc') def test_isclassmethod(app): from target.methods import Base, Inherited |