2018-05-20 09:55:36 -05:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
|
|
test_ext_autodoc_importer
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Test the autodoc extension.
|
|
|
|
|
|
|
|
:copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
|
|
|
|
:license: BSD, see LICENSE for details.
|
|
|
|
"""
|
|
|
|
|
2018-09-07 07:14:01 -05:00
|
|
|
from sphinx.ext.autodoc.importer import _MockObject, _MockModule
|
2018-05-20 09:55:36 -05:00
|
|
|
|
|
|
|
|
|
|
|
def test_MockObject():
|
|
|
|
mock = _MockObject()
|
|
|
|
assert isinstance(mock.some_attr, _MockObject)
|
|
|
|
assert isinstance(mock.some_method, _MockObject)
|
|
|
|
assert isinstance(mock.attr1.attr2, _MockObject)
|
|
|
|
assert isinstance(mock.attr1.attr2.meth(), _MockObject)
|
|
|
|
|
|
|
|
class SubClass(mock.SomeClass):
|
|
|
|
"""docstring of SubClass"""
|
2018-09-07 07:14:01 -05:00
|
|
|
|
2018-05-20 09:55:36 -05:00
|
|
|
def method(self):
|
|
|
|
return "string"
|
|
|
|
|
|
|
|
obj = SubClass()
|
|
|
|
assert SubClass.__doc__ == "docstring of SubClass"
|
|
|
|
assert isinstance(obj, SubClass)
|
|
|
|
assert obj.method() == "string"
|
|
|
|
assert isinstance(obj.other_method(), SubClass)
|
2018-09-07 07:14:01 -05:00
|
|
|
|
|
|
|
|
|
|
|
def test_MockModule():
|
|
|
|
mock = _MockModule('mocked_module', None)
|
|
|
|
assert isinstance(mock.some_attr, _MockObject)
|
|
|
|
assert isinstance(mock.some_method, _MockObject)
|
|
|
|
assert isinstance(mock.attr1.attr2, _MockObject)
|
|
|
|
assert isinstance(mock.attr1.attr2.meth(), _MockObject)
|
|
|
|
|
|
|
|
assert repr(mock.some_attr) == 'mocked_module.some_attr'
|
|
|
|
assert repr(mock.some_method) == 'mocked_module.some_method'
|
|
|
|
assert repr(mock.attr1.attr2) == 'mocked_module.attr1.attr2'
|
|
|
|
assert repr(mock.attr1.attr2.meth) == 'mocked_module.attr1.attr2.meth'
|
|
|
|
|
|
|
|
assert repr(mock) == 'mocked_module'
|