def test_browser(): |
-> tmp = py.test.ensuretemp("sourcebrowser") |
tmp.ensure("a.py").write(py.code.Source(""" |
def f(): |
pass |
|
def g(): |
pass |
|
class X: |
pass |
|
class Z(object): |
x = 1 |
def zzz(self): |
1 |
2 |
3 |
4 |
""")) |
mod = parse_path(tmp.join("a.py")) |
assert isinstance(mod.g, Function) |
assert isinstance(mod.Z, Class) |
py.test.raises(AttributeError, "mod.zzz") |
assert mod.g.firstlineno == 5 |
assert mod.g.name == "g" |
assert mod.g.endlineno == 6 |
assert mod.X.firstlineno == 8 |
assert mod.X.endlineno == 9 |
assert mod.Z.bases == ["object"] |
assert isinstance(mod.Z.zzz, Method) |
assert mod.Z.zzz.firstlineno == 13 |
assert mod.Z.zzz.endlineno == 17 |