From: Mark Dickinson Date: Thu, 15 Oct 2009 15:53:58 +0000 (+0000) Subject: Issue #7142: Fix uses of unicode in memoryview objects X-Git-Tag: v2.7a1~337 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=08133af12e4dee7f688528075d96bb4df94dc0b0;p=python Issue #7142: Fix uses of unicode in memoryview objects --- diff --git a/Lib/test/test_memoryview.py b/Lib/test/test_memoryview.py index 571481ee20..0caf5ec905 100644 --- a/Lib/test/test_memoryview.py +++ b/Lib/test/test_memoryview.py @@ -54,6 +54,12 @@ class AbstractMemoryTests: m = self._view(b) 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): if not self.ro_type: return @@ -156,6 +162,7 @@ class AbstractMemoryTests: def check_attributes_with_type(self, tp): m = self._view(tp(self._source)) self.assertEquals(m.format, self.format) + self.assertIsInstance(m.format, str) self.assertEquals(m.itemsize, self.itemsize) self.assertEquals(m.ndim, 1) self.assertEquals(m.shape, (6,)) diff --git a/Objects/memoryobject.c b/Objects/memoryobject.c index 9427522c36..21e0645fba 100644 --- a/Objects/memoryobject.c +++ b/Objects/memoryobject.c @@ -335,7 +335,7 @@ PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char fort) static PyObject * memory_format_get(PyMemoryViewObject *self) { - return PyUnicode_FromString(self->view.format); + return PyString_FromString(self->view.format); } static PyObject * @@ -503,7 +503,7 @@ memory_dealloc(PyMemoryViewObject *self) static PyObject * memory_repr(PyMemoryViewObject *self) { - return PyUnicode_FromFormat("", self); + return PyString_FromFormat("", self); } /* Sequence methods */