[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