[py-svn] r35376 - in py/dist/py/apigen/source: . testing

fijal at codespeak.net fijal at codespeak.net
Wed Dec 6 12:38:02 CET 2006


Author: fijal
Date: Wed Dec  6 12:38:01 2006
New Revision: 35376

Modified:
   py/dist/py/apigen/source/browser.py
   py/dist/py/apigen/source/testing/test_browser.py
Log:
A fix and a test.


Modified: py/dist/py/apigen/source/browser.py
==============================================================================
--- py/dist/py/apigen/source/browser.py	(original)
+++ py/dist/py/apigen/source/browser.py	Wed Dec  6 12:38:01 2006
@@ -60,7 +60,7 @@
     return cls(ast.name, startline, endline)
 
 def class_from_ast(cls_ast):
-    bases = [i.name for i in cls_ast.bases]
+    bases = [i.name for i in cls_ast.bases if isinstance(i, ast.Name)]
     # XXX
     methods = {}
     startline = cls_ast.lineno

Modified: py/dist/py/apigen/source/testing/test_browser.py
==============================================================================
--- py/dist/py/apigen/source/testing/test_browser.py	(original)
+++ py/dist/py/apigen/source/testing/test_browser.py	Wed Dec  6 12:38:01 2006
@@ -52,3 +52,13 @@
     mod = parse_path(tmp.join("b.py"))
     assert isinstance(mod.f, Function)
     py.test.raises(AttributeError, 'mod.g')
+
+def test_bases():
+    tmp = py.test.ensuretemp("sourcebrowser")
+    tmp.ensure("c.py").write(py.code.Source("""
+    import py
+    class Dir(py.test.collect.Directory):
+        pass
+    """))
+    mod = parse_path(tmp.join("c.py"))
+    # if it does not rise it's ok for now


More information about the py-svn mailing list