diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-02-27 14:49:07 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-02-27 21:42:23 +0900 |
commit | af51e9825a6d5071a405b3ec7724ba7862b28cd8 (patch) | |
tree | 26dd77816c7ff99a01f5dae57681687b903dd958 /tests/test_ext_autodoc_importer.py | |
parent | 30ea7c94eb22a559934d230f1f771cb9de49bbb9 (diff) | |
download | sphinx-git-af51e9825a6d5071a405b3ec7724ba7862b28cd8.tar.gz |
refactor: Move implementation of mock to sphinx.ext.autodoc.mock
Diffstat (limited to 'tests/test_ext_autodoc_importer.py')
-rw-r--r-- | tests/test_ext_autodoc_importer.py | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/tests/test_ext_autodoc_importer.py b/tests/test_ext_autodoc_importer.py deleted file mode 100644 index 08920cc7e..000000000 --- a/tests/test_ext_autodoc_importer.py +++ /dev/null @@ -1,97 +0,0 @@ -""" - test_ext_autodoc_importer - ~~~~~~~~~~~~~~~~~~~~~~~~~ - - Test the autodoc extension. - - :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import abc -import sys - -import pytest - -from sphinx.ext.autodoc.importer import _MockModule, _MockObject, mock - - -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' - - -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""" - - 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) - - -def test_mock(): - modname = 'sphinx.unknown' - submodule = modname + '.submodule' - assert modname not in sys.modules - with pytest.raises(ImportError): - __import__(modname) - - with mock([modname]): - __import__(modname) - assert modname in sys.modules - assert isinstance(sys.modules[modname], _MockModule) - - # submodules are also mocked - __import__(submodule) - assert submodule in sys.modules - assert isinstance(sys.modules[submodule], _MockModule) - - assert modname not in sys.modules - with pytest.raises(ImportError): - __import__(modname) - - -def test_mock_does_not_follow_upper_modules(): - with mock(['sphinx.unknown.module']): - with pytest.raises(ImportError): - __import__('sphinx.unknown') - - -@pytest.mark.skipif(sys.version_info < (3, 7), reason='Only for py37 or above') -def test_abc_MockObject(): - mock = _MockObject() - - class Base: - @abc.abstractmethod - def __init__(self): - pass - - class Derived(Base, mock.SubClass): - pass - - obj = Derived() - assert isinstance(obj, Base) - assert isinstance(obj, _MockObject) - assert isinstance(obj.some_method(), Derived) |