[pypy-svn] r49622 - in pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__: . test
cfbolz at codespeak.net
cfbolz at codespeak.net
Tue Dec 11 12:45:23 CET 2007
Author: cfbolz
Date: Tue Dec 11 12:45:22 2007
New Revision: 49622
Modified:
pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/interp_classobj.py
pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/test/test_classobj.py
Log:
test for inheritance and attributes
Modified: pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/interp_classobj.py
==============================================================================
--- pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/interp_classobj.py (original)
+++ pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/interp_classobj.py Tue Dec 11 12:45:22 2007
@@ -96,9 +96,8 @@
return None
def descr_getattr(self, space, w_attr):
- import pdb; pdb.set_trace()
w_value = self.lookup(space, w_attr)
- if w_value is not None:
+ if w_value is None:
raise OperationError(
space.w_AttributeError,
space.wrap("class %s has no attribute %s" % (
Modified: pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/test/test_classobj.py
==============================================================================
--- pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/test/test_classobj.py (original)
+++ pypy/branch/interplevel-oldstyle-classes/pypy/module/__builtin__/test/test_classobj.py Tue Dec 11 12:45:22 2007
@@ -38,3 +38,23 @@
return self.a + a
a = A()
assert a.f(2) == 3
+
+ def test_inheritance(self):
+ class A:
+ __metaclass__ = nclassobj
+ a = 1
+ b = 2
+ class B(A):
+ a = 3
+ c = 4
+ assert B.__bases__ == (A, )
+ assert B.a == 3
+ assert B.b == 2
+ assert B.c == 4
+ b = B()
+ assert b.a == 3
+ assert b.b == 2
+ assert b.c == 4
+
+
+
More information about the Pypy-commit
mailing list