[pypy-svn] r4960 - in pypy/branch/src-newobjectmodel/pypy: interpreter objspace/std/test

arigo at codespeak.net arigo at codespeak.net
Sat Jun 5 14:46:46 CEST 2004


Author: arigo
Date: Sat Jun  5 14:46:46 2004
New Revision: 4960

Modified:
   pypy/branch/src-newobjectmodel/pypy/interpreter/typedef.py
   pypy/branch/src-newobjectmodel/pypy/objspace/std/test/test_dictobject.py
Log:
Small fixes for test_dictobject...


Modified: pypy/branch/src-newobjectmodel/pypy/interpreter/typedef.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/interpreter/typedef.py	(original)
+++ pypy/branch/src-newobjectmodel/pypy/interpreter/typedef.py	Sat Jun  5 14:46:46 2004
@@ -4,6 +4,7 @@
 """
 from pypy.interpreter.gateway import interp2app 
 from pypy.interpreter.baseobjspace import Wrappable
+from pypy.interpreter.error import OperationError
 
 class TypeDef:
     def __init__(self, __name, **rawdict):
@@ -29,7 +30,7 @@
     def descr_property_get(space, w_property, w_obj, w_ignored):
         # XXX HAAAAAAAAAAAACK (but possibly a good one)
         if w_obj == space.w_None and not space.is_true(space.is_(w_ignored, space.type(space.w_None))):
-            print w_property, w_obj, w_ignored
+            #print w_property, w_obj, w_ignored
             return w_property
         else:
             return space.unwrap(w_property).fget(space, w_obj)
@@ -37,16 +38,16 @@
     def descr_property_set(space, w_property, w_obj, w_value):
         fset = space.unwrap(w_property).fset
         if fset is None:
-            complains
-        else:
-            do_it
+            raise OperationError(space.w_AttributeError,
+                                 space.wrap("read-only attribute"))
+        fset(space, w_obj, w_value)
 
     def descr_property_del(space, w_property, w_obj):
-        fset = space.unwrap(w_property).fset
-        if fset is None:
-            complains
-        else:
-            do_it
+        fdel = space.unwrap(w_property).fdel
+        if fdel is None:
+            raise OperationError(space.w_AttributeError,
+                                 space.wrap("cannot delete attribute"))
+        fdel(space, w_obj)
 
     typedef = TypeDef("GetSetProperty",
         __get__ = interp2app(descr_property_get),

Modified: pypy/branch/src-newobjectmodel/pypy/objspace/std/test/test_dictobject.py
==============================================================================
--- pypy/branch/src-newobjectmodel/pypy/objspace/std/test/test_dictobject.py	(original)
+++ pypy/branch/src-newobjectmodel/pypy/objspace/std/test/test_dictobject.py	Sat Jun  5 14:46:46 2004
@@ -118,15 +118,15 @@
             return [[w(a),w(b)] for a,b in lp]
         d = mydict()
         self.assertEqual_w(d, w({}))
-        args = w([[['a',2],[23,45]]])
+        args = w(([['a',2],[23,45]],))
         d = mydict(args)
         self.assertEqual_w(d, wd(deepwrap([['a',2],[23,45]])))
         d = mydict(args, w({'a':33, 'b':44}))
         self.assertEqual_w(d, wd(deepwrap([['a',33],['b',44],[23,45]])))
         d = mydict(w_kwds=w({'a':33, 'b':44}))
         self.assertEqual_w(d, wd(deepwrap([['a',33],['b',44]])))
-        self.assertRaises_w(space.w_TypeError, mydict, w([23]))
-        self.assertRaises_w(space.w_ValueError, mydict, w([[[1,2,3]]]))
+        self.assertRaises_w(space.w_TypeError, mydict, w((23,)))
+        self.assertRaises_w(space.w_ValueError, mydict, w(([[1,2,3]],)))
 
     def test_dict_pop(self):
         space = self.space



More information about the Pypy-commit mailing list