[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