Issue #7142: Fix uses of unicode in memoryview objects

This commit is contained in:
Mark Dickinson 2009-10-15 15:53:58 +00:00
parent 196b0925ca
commit 08133af12e
2 changed files with 9 additions and 2 deletions

View file

@ -54,6 +54,12 @@ class AbstractMemoryTests:
m = self._view(b) m = self._view(b)
self.assertEqual(list(m), [m[i] for i in range(len(m))]) self.assertEqual(list(m), [m[i] for i in range(len(m))])
def test_repr(self):
for tp in self._types:
b = tp(self._source)
m = self._view(b)
self.assertIsInstance(m.__repr__(), str)
def test_setitem_readonly(self): def test_setitem_readonly(self):
if not self.ro_type: if not self.ro_type:
return return
@ -156,6 +162,7 @@ class AbstractMemoryTests:
def check_attributes_with_type(self, tp): def check_attributes_with_type(self, tp):
m = self._view(tp(self._source)) m = self._view(tp(self._source))
self.assertEquals(m.format, self.format) self.assertEquals(m.format, self.format)
self.assertIsInstance(m.format, str)
self.assertEquals(m.itemsize, self.itemsize) self.assertEquals(m.itemsize, self.itemsize)
self.assertEquals(m.ndim, 1) self.assertEquals(m.ndim, 1)
self.assertEquals(m.shape, (6,)) self.assertEquals(m.shape, (6,))

View file

@ -335,7 +335,7 @@ PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char fort)
static PyObject * static PyObject *
memory_format_get(PyMemoryViewObject *self) memory_format_get(PyMemoryViewObject *self)
{ {
return PyUnicode_FromString(self->view.format); return PyString_FromString(self->view.format);
} }
static PyObject * static PyObject *
@ -503,7 +503,7 @@ memory_dealloc(PyMemoryViewObject *self)
static PyObject * static PyObject *
memory_repr(PyMemoryViewObject *self) memory_repr(PyMemoryViewObject *self)
{ {
return PyUnicode_FromFormat("<memory at %p>", self); return PyString_FromFormat("<memory at %p>", self);
} }
/* Sequence methods */ /* Sequence methods */