Merge pull request #6291 from tk0miya/test_util_inspect2

Add testcases for sphinx.util.inspect
This commit is contained in:
Takeshi KOMIYA
2019-04-13 21:05:09 +09:00
committed by GitHub

View File

@@ -399,3 +399,62 @@ def test_isstaticmethod():
assert inspect.isstaticmethod(Foo.method2, Foo, 'method2') is False assert inspect.isstaticmethod(Foo.method2, Foo, 'method2') is False
assert inspect.isstaticmethod(Bar.method1, Bar, 'method1') is True assert inspect.isstaticmethod(Bar.method1, Bar, 'method1') is True
assert inspect.isstaticmethod(Bar.method2, Bar, 'method2') is False assert inspect.isstaticmethod(Bar.method2, Bar, 'method2') is False
def test_isfunction():
def func(x, y, z):
pass
func2 = functools.partial(func, 1)
class Foo:
def meth(self):
pass
print2 = functools.partial(print, 1)
assert inspect.isfunction(func) is True # function
assert inspect.isfunction(func2) is True # partial-ed function
assert inspect.isfunction(Foo.meth) is True # method of class
assert inspect.isfunction(Foo().meth) is False # method of instance
assert inspect.isfunction(print) is False # builtin function
assert inspect.isfunction(print2) is False # partial-ed builtin function
def test_isbuiltin():
def func(x, y, z):
pass
func2 = functools.partial(func, 1)
class Foo:
def meth(self):
pass
print2 = functools.partial(print, 1)
assert inspect.isbuiltin(print) is True # builtin function
assert inspect.isbuiltin(print2) is True # partial-ed builtin function
assert inspect.isbuiltin(func) is False # function
assert inspect.isbuiltin(func2) is False # partial-ed function
assert inspect.isbuiltin(Foo.meth) is False # method of class
assert inspect.isbuiltin(Foo().meth) is False # method of instance
def test_isdescriptor():
def func(x, y, z):
pass
class Foo:
def meth(self):
pass
@property
def prop(self):
pass
assert inspect.isdescriptor(Foo.prop) is True # property of class
assert inspect.isdescriptor(Foo().prop) is False # property of instance
assert inspect.isdescriptor(Foo.meth) is True # method of class
assert inspect.isdescriptor(Foo().meth) is True # method of instance
assert inspect.isdescriptor(func) is True # function