diff options
author | Georg Brandl <georg@python.org> | 2009-02-18 00:06:24 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2009-02-18 00:06:24 +0100 |
commit | 4b2864e87cf545d755693663b6f02f2cfe9ae85d (patch) | |
tree | 9de862e3d1748a2e42c7c082fa021b5ee405d45a /tests/test_autodoc.py | |
parent | b42e9303f466bd39873ebbe32b26c472bc52bde4 (diff) | |
download | sphinx-git-4b2864e87cf545d755693663b6f02f2cfe9ae85d.tar.gz |
Add a test for a new documenter.
Diffstat (limited to 'tests/test_autodoc.py')
-rw-r--r-- | tests/test_autodoc.py | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/tests/test_autodoc.py b/tests/test_autodoc.py index 98fe4c19c..d1da44396 100644 --- a/tests/test_autodoc.py +++ b/tests/test_autodoc.py @@ -14,9 +14,8 @@ from util import * from docutils.statemachine import ViewList -from sphinx.ext.autodoc import AutoDirective, Documenter, ModuleDocumenter, \ - ClassDocumenter, FunctionDocumenter, DataDocumenter, MethodDocumenter, \ - AttributeDocumenter, cut_lines, between, ALL +from sphinx.ext.autodoc import AutoDirective, Documenter, add_documenter, \ + ModuleLevelDocumenter, FunctionDocumenter, cut_lines, between, ALL def setup_module(): @@ -281,6 +280,33 @@ def test_docstring_processing(): app.disconnect(lid) +def test_new_documenter(): + class MyDocumenter(ModuleLevelDocumenter): + objtype = 'integer' + directivetype = 'data' + priority = 100 + + @classmethod + def can_document_member(cls, member, membername, isattr, parent): + return isinstance(member, int) + + def document_members(self, all_members=False): + return + + add_documenter(MyDocumenter) + + def assert_result_contains(item, objtype, name, **kw): + inst = AutoDirective._registry[objtype](directive, name) + inst.generate(**kw) + #print '\n'.join(directive.result) + assert len(_warnings) == 0, _warnings + assert item in directive.result + del directive.result[:] + + options.members = ['integer'] + assert_result_contains('.. data:: integer', 'module', 'test_autodoc') + + def test_generate(): def assert_warns(warn_str, objtype, name, **kw): inst = AutoDirective._registry[objtype](directive, name) @@ -312,6 +338,8 @@ def test_generate(): assert item in directive.result del directive.result[:] + options.members = [] + # no module found? assert_warns("import for autodocumenting 'foobar'", 'function', 'foobar', more_content=None) @@ -405,13 +433,14 @@ def test_generate(): __all__ = ['Class'] +integer = 1 + class CustomEx(Exception): """My custom exception.""" def f(self): """Exception method.""" - class Base(object): def inheritedmeth(self): """Inherited function.""" |