[pypy-svn] r7306 - pypy/trunk/src/pypy/objspace/std/test

bob at codespeak.net bob at codespeak.net
Wed Nov 17 09:48:59 CET 2004


Author: bob
Date: Wed Nov 17 09:48:57 2004
New Revision: 7306

Modified:
   pypy/trunk/src/pypy/objspace/std/test/test_typeobject.py
Log:
add a (failing) test to make sure MRO works as it does in Python



Modified: pypy/trunk/src/pypy/objspace/std/test/test_typeobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/test/test_typeobject.py	(original)
+++ pypy/trunk/src/pypy/objspace/std/test/test_typeobject.py	Wed Nov 17 09:48:57 2004
@@ -98,5 +98,24 @@
         else:
             raise AssertionError, "this multiple inheritance should fail"
 
+    def test_mro(self):
+        class A(object):
+            a = 1
+
+        class B(A):
+            b = 1
+            class __metaclass__(type):
+                def mro(self):
+                    return [self, object]
+
+        self.assertEquals(B.__bases__, (A,))
+        self.assertEquals(B.__mro__, (B, object))
+        self.assertEquals(B.mro(), [B, object])
+        self.assertEquals(B.b, 1)
+        self.assertEquals(B().b, 1)
+        self.assertEquals(getattr(B, 'a', None), None)
+        self.assertEquals(getattr(B(), 'a', None), None)
+
+
 if __name__ == '__main__':
     testit.main()



More information about the Pypy-commit mailing list