[pypy-svn] r34502 - in pypy/dist/pypy/objspace/std: . test
fijal at codespeak.net
fijal at codespeak.net
Sat Nov 11 20:17:49 CET 2006
Author: fijal
Date: Sat Nov 11 20:17:47 2006
New Revision: 34502
Modified:
pypy/dist/pypy/objspace/std/objspace.py
pypy/dist/pypy/objspace/std/test/test_proxy.py
pypy/dist/pypy/objspace/std/test/test_proxy_function.py
pypy/dist/pypy/objspace/std/test/test_proxy_internals.py
pypy/dist/pypy/objspace/std/test/test_proxy_object.py
Log:
Moved transparent_proxy to pypymagic.
Modified: pypy/dist/pypy/objspace/std/objspace.py
==============================================================================
--- pypy/dist/pypy/objspace/std/objspace.py (original)
+++ pypy/dist/pypy/objspace/std/objspace.py Sat Nov 11 20:17:47 2006
@@ -134,9 +134,10 @@
self.setup_builtin_modules()
# Adding transparent proxy call
if self.config.objspace.std.withtproxy:
- from pypy.objspace.std.transparent import app_proxy
+ w_pypymagic = self.getbuiltinmodule("pypymagic")
+ from pypy.objspace.std.transparent import app_proxy
- self.setitem(self.builtin.w_dict, self.wrap('proxy'),
+ self.setattr(w_pypymagic, self.wrap('transparent_proxy'),
self.wrap(app_proxy))
def enable_old_style_classes_as_default_metaclass(self):
Modified: pypy/dist/pypy/objspace/std/test/test_proxy.py
==============================================================================
--- pypy/dist/pypy/objspace/std/test/test_proxy.py (original)
+++ pypy/dist/pypy/objspace/std/test/test_proxy.py Sat Nov 11 20:17:47 2006
@@ -18,10 +18,14 @@
return getattr(self.obj, name)(*args, **kwargs)
return Controller
""")
+ self.w_proxy = self.space.appexec([], """():
+ from pypymagic import transparent_proxy
+ return transparent_proxy
+ """)
class AppTestListProxy(AppProxyBasic):
def test_proxy(self):
- lst = proxy(list, lambda : None)
+ lst = self.proxy(list, lambda : None)
assert type(lst) is list
def test_proxy_repr(self):
@@ -30,19 +34,19 @@
if name == '__repr__':
return repr(lst)
- lst = proxy(list, controller)
+ lst = self.proxy(list, controller)
assert repr(lst) == repr([1,2,3])
def test_proxy_append(self):
c = self.Controller([])
- lst = proxy(list, c.perform)
+ lst = self.proxy(list, c.perform)
lst.append(1)
lst.append(2)
assert repr(lst) == repr([1,2])
def test_gt_lt_list(self):
c = self.Controller([])
- lst = proxy(list, c.perform)
+ lst = self.proxy(list, c.perform)
lst.append(1)
lst.append(2)
assert lst < [1,2,3]
@@ -56,7 +60,7 @@
def test_add_list(self):
c = self.Controller([])
- lst = proxy(list, c.perform)
+ lst = self.proxy(list, c.perform)
lst.append(1)
assert lst + lst == [1,1]
assert lst + [1] == [1,1]
@@ -64,14 +68,14 @@
def test_list_getitem(self):
c = self.Controller([1,2,3])
- lst = proxy(list, c.perform)
+ lst = self.proxy(list, c.perform)
assert lst[2] == 3
lst[1] = 0
assert lst[0] + lst[1] == 1
def test_list_setitem(self):
c = self.Controller([1,2,3])
- lst = proxy(list, c.perform)
+ lst = self.proxy(list, c.perform)
try:
lst[3] = "x"
except IndexError:
@@ -82,7 +86,7 @@
class AppTestDictProxy(AppProxyBasic):
def test_dict(self):
c = self.Controller({"xx":1})
- d = proxy(dict, c.perform)
+ d = self.proxy(dict, c.perform)
assert d['xx'] == 1
assert 'yy' not in d
d2 = {'yy':3}
@@ -92,13 +96,13 @@
def test_dict_pop(self):
c = self.Controller({'x':1})
- d = proxy(dict, c.perform)
+ d = self.proxy(dict, c.perform)
assert d.pop('x') == 1
assert d.pop('x', None) is None
def test_dict_iter(self):
c = self.Controller({'a':1, 'b':2, 'c':3})
- d = proxy(dict, c.perform)
+ d = self.proxy(dict, c.perform)
d['z'] = 4
assert sorted(list(d.iterkeys())) == ['a', 'b', 'c', 'z']
Modified: pypy/dist/pypy/objspace/std/test/test_proxy_function.py
==============================================================================
--- pypy/dist/pypy/objspace/std/test/test_proxy_function.py (original)
+++ pypy/dist/pypy/objspace/std/test/test_proxy_function.py Sat Nov 11 20:17:47 2006
@@ -19,6 +19,7 @@
return getattr(self.obj, name)(*args, **kwargs)
def get_proxy(f):
import types
+ from pypymagic import transparent_proxy as proxy
return proxy(types.FunctionType, Controller(f).perform)
return get_proxy
""")
Modified: pypy/dist/pypy/objspace/std/test/test_proxy_internals.py
==============================================================================
--- pypy/dist/pypy/objspace/std/test/test_proxy_internals.py (original)
+++ pypy/dist/pypy/objspace/std/test/test_proxy_internals.py Sat Nov 11 20:17:47 2006
@@ -16,6 +16,7 @@
def perform(self, name, *args, **kwargs):
return getattr(self.obj, name)(*args, **kwargs)
def get_proxy(f):
+ from pypymagic import transparent_proxy as proxy
return proxy(type(f), Controller(f).perform)
return get_proxy
""")
@@ -58,6 +59,7 @@
import traceback
def get_proxy(f):
+ from pypymagic import transparent_proxy as proxy
return proxy(type(f), Controller(f).perform)
class FakeTb(object):
Modified: pypy/dist/pypy/objspace/std/test/test_proxy_object.py
==============================================================================
--- pypy/dist/pypy/objspace/std/test/test_proxy_object.py (original)
+++ pypy/dist/pypy/objspace/std/test/test_proxy_object.py Sat Nov 11 20:17:47 2006
@@ -12,10 +12,14 @@
__slots__ = []
return A
""")
+ self.w_proxy = self.space.appexec([], """():
+ from pypymagic import transparent_proxy
+ return transparent_proxy
+ """)
def test_write_dict(self):
c = self.Controller(self.A())
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
raises(AttributeError, "obj.__dict__ = {}")
class AppTestProxyObj(AppProxyBasic):
@@ -32,14 +36,14 @@
pass
c = self.Controller(self.A())
- obj = proxy(AT, c.perform)
+ obj = self.proxy(AT, c.perform)
assert type(obj) is AT
assert obj.__class__ is AT
def test__class__override(self):
c = self.Controller(self.A())
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
raises(TypeError, "obj.__class__ = self.A")
@@ -47,19 +51,19 @@
a = self.A()
a.x = 3
c = self.Controller(a)
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
assert obj.x == 3
def test_nonexistant_attribuite_access(self):
c = self.Controller(self.A())
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
raises(AttributeError, "obj.x")
def test_setattr(self):
a = self.A()
c = self.Controller(a)
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
obj.x = 1
assert obj.x == 1
assert a.x == 1
@@ -68,7 +72,7 @@
a = self.A()
a.f = 3
c = self.Controller(a)
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
del obj.f
raises(AttributeError, "obj.f")
@@ -76,13 +80,13 @@
a = self.A()
a.x = 3
c = self.Controller(a)
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
assert 'x' in obj.__dict__
def test_set__dict__(self):
a = self.A()
c = self.Controller(a)
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
obj.__dict__ = {'x':3}
assert obj.x == 3
assert obj.__dict__.keys() == ['x']
@@ -90,7 +94,7 @@
def test_repr(self):
a = self.A()
c = self.Controller(a)
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
assert repr(obj)[:6] == repr(a)[:6]
class AppTestProxyObjectList(AppTestProxyObj):
@@ -101,10 +105,15 @@
pass
return A
""")
+ self.w_proxy = self.space.appexec([], """():
+ from pypymagic import transparent_proxy
+ return transparent_proxy
+ """)
+
def test_list_append(self):
a = self.A([1,2,3])
c = self.Controller(a)
- obj = proxy(self.A, c.perform)
+ obj = self.proxy(self.A, c.perform)
assert len(obj) == 3
assert obj[1] == 2
More information about the Pypy-commit
mailing list