[pypy-svn] r78832 - in pypy/branch/fast-forward/pypy/module/__builtin__: . test
arigo at codespeak.net
arigo at codespeak.net
Sun Nov 7 19:10:20 CET 2010
Author: arigo
Date: Sun Nov 7 19:10:19 2010
New Revision: 78832
Added:
pypy/branch/fast-forward/pypy/module/__builtin__/interp_memoryview.py
- copied, changed from r78830, pypy/branch/fast-forward/pypy/module/__builtin__/memoryview.py
Removed:
pypy/branch/fast-forward/pypy/module/__builtin__/memoryview.py
Modified:
pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py
pypy/branch/fast-forward/pypy/module/__builtin__/test/test_buffer.py
Log:
* rename memoryview.py into interp_memoryview.py to avoid conflicts
with the built-in name from 2.7.
* implement the (dummy) attributes.
Modified: pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py (original)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/__init__.py Sun Nov 7 19:10:19 2010
@@ -52,8 +52,8 @@
'object' : '(space.w_object)',
'bytes' : '(space.w_str)',
'unicode' : '(space.w_unicode)',
- 'buffer' : 'memoryview.W_Buffer',
- 'memoryview' : 'memoryview.W_MemoryView',
+ 'buffer' : 'interp_memoryview.W_Buffer',
+ 'memoryview' : 'interp_memoryview.W_MemoryView',
'file' : 'state.get(space).w_file',
'open' : 'state.get(space).w_file',
Copied: pypy/branch/fast-forward/pypy/module/__builtin__/interp_memoryview.py (from r78830, pypy/branch/fast-forward/pypy/module/__builtin__/memoryview.py)
==============================================================================
--- pypy/branch/fast-forward/pypy/module/__builtin__/memoryview.py (original)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/interp_memoryview.py Sun Nov 7 19:10:19 2010
@@ -100,8 +100,18 @@
def descr_len(self, space):
return self.buf.descr_len(space)
- def is_readonly(space, self):
+ def w_get_format(space, self):
+ return space.wrap("B")
+ def w_get_itemsize(space, self):
+ return space.wrap(1)
+ def w_get_ndim(space, self):
+ return space.wrap(1)
+ def w_is_readonly(space, self):
return space.wrap(not isinstance(self.buf, buffer.RWBuffer))
+ def w_get_shape(space, self):
+ return space.newtuple([space.wrap(self.getlength())])
+ def w_get_strides(space, self):
+ return space.newtuple([space.wrap(1)])
@unwrap_spec(ObjSpace, W_Root, W_Root)
@@ -127,12 +137,12 @@
__setitem__ = interp2app(W_MemoryView.descr_setitem),
tobytes = interp2app(W_MemoryView.descr_tobytes),
tolist = interp2app(W_MemoryView.descr_tolist),
- #format
- #itemsize
- #ndim
- readonly = GetSetProperty(W_MemoryView.is_readonly)
- #shape
- #strides
- #suboffsets
+ format = GetSetProperty(W_MemoryView.w_get_format),
+ itemsize = GetSetProperty(W_MemoryView.w_get_itemsize),
+ ndim = GetSetProperty(W_MemoryView.w_get_ndim),
+ readonly = GetSetProperty(W_MemoryView.w_is_readonly),
+ shape = GetSetProperty(W_MemoryView.w_get_shape),
+ strides = GetSetProperty(W_MemoryView.w_get_strides),
+ #suboffsets? undocumented
)
W_MemoryView.typedef.acceptable_as_base_class = False
Modified: pypy/branch/fast-forward/pypy/module/__builtin__/test/test_buffer.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/__builtin__/test/test_buffer.py (original)
+++ pypy/branch/fast-forward/pypy/module/__builtin__/test/test_buffer.py Sun Nov 7 19:10:19 2010
@@ -184,3 +184,11 @@
v[1:4] = '123'
assert data == bytearray(b'z123fg')
raises((ValueError, TypeError), "v[2] = 'spam'")
+
+ def test_memoryview_attrs(self):
+ v = memoryview("a"*100)
+ assert v.format == "B"
+ assert v.itemsize == 1
+ assert v.shape == (100,)
+ assert v.ndim == 1
+ assert v.strides == (1,)
More information about the Pypy-commit
mailing list