summaryrefslogtreecommitdiff
path: root/tests/test_ext_autodoc_importer.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-02-27 14:49:07 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2019-02-27 21:42:23 +0900
commitaf51e9825a6d5071a405b3ec7724ba7862b28cd8 (patch)
tree26dd77816c7ff99a01f5dae57681687b903dd958 /tests/test_ext_autodoc_importer.py
parent30ea7c94eb22a559934d230f1f771cb9de49bbb9 (diff)
downloadsphinx-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.py97
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)