pos = self.testspos
keystr = u'%s (line %d)' % (path, testpos[1])
key = UnicodeNode(pos, value=EncodedString(keystr))
- value = UnicodeNode(pos, value=EncodedString(doctest))
+ value = UnicodeNode(pos, value=doctest)
self.tests.append(DictItemNode(pos, key=key, value=value))
def visit_FuncDefNode(self, node):
if not node.doc:
return node
- if isinstance(node, CFuncDefNode) and not node.py_func:
- # skip non-cpdef cdef functions
- return node
-
pos = self.testspos
if self.scope_type == 'module':
path = node.entry.name
elif self.scope_type in ('pyclass', 'cclass'):
if isinstance(node, CFuncDefNode):
- name = node.py_func.name
+ if node.py_func is not None:
+ name = node.py_func.name
+ else:
+ name = node.entry.name
else:
name = node.name
if self.scope_type == 'cclass' and name in self.blacklist:
>>> items.sort()
>>> for key, value in items:
... print('%s ; %s' % (key, value))
-MyCdefClass.cpdef_method (line 79) ; >>> add_log("cpdef class method")
-MyCdefClass.method (line 76) ; >>> add_log("cdef class method")
-MyClass.method (line 65) ; >>> add_log("class method")
-doc_without_test (line 47) ; Some docs
-mycpdeffunc (line 53) ; >>> add_log("cpdef")
-myfunc (line 44) ; >>> add_log("def")
+MyCdefClass.cdef_method (line 79) ; >>> add_log("cdef class method")
+MyCdefClass.cpdef_method (line 76) ; >>> add_log("cpdef class method")
+MyCdefClass.method (line 73) ; >>> add_log("cdef class method")
+MyClass.method (line 62) ; >>> add_log("class method")
+cdeffunc (line 28) ; >>> add_log("cdef")
+doc_without_test (line 44) ; Some docs
+mycpdeffunc (line 50) ; >>> add_log("cpdef")
+myfunc (line 41) ; >>> add_log("def")
"""
log = []
cdef cdeffunc():
- """
- Please don't include me!
-
- >>> True
- False
- """
+ """>>> add_log("cdef")"""
def all_tests_run():
log.sort()
- assert log == [u'cdef class', u'cdef class method', u'class method', u'cpdef', u'cpdef class method', u'def'], log
+ assert log == [u'cdef', u'cdef class', u'cdef class method', u'class method', u'cpdef', u'cpdef class method', u'def'], log
def add_log(s):
log.append(unicode(s))
cpdef cpdef_method(self):
""">>> add_log("cpdef class method")"""
+ cdef cdef_method(self):
+ """>>> add_log("cdef class method")"""
+
def __cinit__(self):
"""
Should not be included, as it can't be looked up with getattr