Georg Brandl avatar Georg Brandl committed fa07b2d

Add more stuff to the autodoc test document, and fix two bugs.

Comments (0)

Files changed (2)

sphinx/ext/autodoc.py

             else:
                 memberlist = self.object.__all__
         else:
-            memberlist = self.options.members
+            memberlist = self.options.members or []
         ret = []
-        for mname in memberlist or ():
+        for mname in memberlist:
             try:
                 ret.append((mname, getattr(self.object, mname)))
             except AttributeError:
         ret = ModuleLevelDocumenter.import_object(self)
         # if the class is documented under another name, document it
         # as data/attribute
-        self.doc_as_attr = (self.objpath[-1] != self.object.__name__)
+        if ret:
+            self.doc_as_attr = (self.objpath[-1] != self.object.__name__)
         return ret
 
     def format_args(self):

tests/root/autodoc.txt

 Autodoc tests
 =============
 
+Just testing a few autodoc possibilities...
+
+.. automodule:: util
+
 .. automodule:: test_autodoc
    :members:
 
 .. autofunction:: function
+
+.. autoclass:: Class
+   :inherited-members:
+
+   Additional content.
+
+.. autoclass:: Outer
+   :members: Inner
+
+.. autoattribute:: Class.docattr
+
+.. autoexception:: CustomEx
+   :members: f
+
+.. autoclass:: CustomDict
+   :show-inheritance:
+   :members:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.