1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/tests/attributes2.py Sun Aug 17 02:58:28 2008 +0200
1.3 @@ -0,0 +1,46 @@
1.4 +#!/usr/bin/env python
1.5 +
1.6 +def e(x): pass
1.7 +
1.8 +class C:
1.9 + def h(self):
1.10 + self.m = self.f
1.11 + return self.m # not known
1.12 + def g(self):
1.13 + return self.f # C.f with context self
1.14 + def f(self): pass
1.15 + e = e
1.16 +
1.17 +class D:
1.18 + e = C.e
1.19 + f = C.f
1.20 + def g(self):
1.21 + return self.f # D.f with context preserved
1.22 + def h(self):
1.23 + self.m = self.f
1.24 + return self.m # not known
1.25 +
1.26 +class E(C):
1.27 + def g(self):
1.28 + return self.f # C.f with context self
1.29 + def h(self):
1.30 + self.m = self.f
1.31 + return self.m # not known
1.32 +
1.33 +C.f
1.34 +D.f
1.35 +E.f
1.36 +
1.37 +c = C()
1.38 +d = D()
1.39 +e = E()
1.40 +
1.41 +x = c.f # bound C.f == c.h() == c.g()
1.42 +y = d.f # unbound C.f == d.h() == d.g()
1.43 +z = e.f # bound E.f == e.h() == e.g()
1.44 +
1.45 +p = c.e # bound C.e
1.46 +q = d.e # unbound C.e
1.47 +r = e.e # bound E.e
1.48 +
1.49 +# vim: tabstop=4 expandtab shiftwidth=4