[Python-checkins] r61809 - in python/branches/trunk-bytearray: Lib/test/test_io.py Objects/bytesobject.c
christian.heimes
python-checkins at python.org
Sun Mar 23 21:02:21 CET 2008
Author: christian.heimes
Date: Sun Mar 23 21:02:21 2008
New Revision: 61809
Modified:
python/branches/trunk-bytearray/Lib/test/test_io.py
python/branches/trunk-bytearray/Objects/bytesobject.c
Log:
str(bytesarray()) now returns the bytes and not the representation of the bytearray object
Enabled and fixed more unit tests
Modified: python/branches/trunk-bytearray/Lib/test/test_io.py
==============================================================================
--- python/branches/trunk-bytearray/Lib/test/test_io.py (original)
+++ python/branches/trunk-bytearray/Lib/test/test_io.py Sun Mar 23 21:02:21 2008
@@ -254,7 +254,7 @@
self.assertEqual(f.read(), b"xxx")
f.close()
- def XXXtest_array_writes(self):
+ def test_array_writes(self):
a = array.array('i', range(10))
n = len(memoryview(a))
f = io.open(test_support.TESTFN, "wb", 0)
@@ -651,7 +651,7 @@
# (4) replace
b = io.BytesIO(b"abc\n\xff\n")
t = io.TextIOWrapper(b, encoding="ascii", errors="replace")
- self.assertEquals(t.read(), "abc\n\ufffd\n")
+ self.assertEquals(t.read(), u"abc\n\ufffd\n")
def testEncodingErrorsWriting(self):
# (1) default
@@ -677,7 +677,7 @@
t.flush()
self.assertEquals(b.getvalue(), b"abc?def\n")
- def XXXtestNewlinesInput(self):
+ def testNewlinesInput(self):
testdata = b"AAA\nBBB\nCCC\rDDD\rEEE\r\nFFF\r\nGGG"
normalized = testdata.replace(b"\r\n", b"\n").replace(b"\r", b"\n")
for newline, expected in [
@@ -710,7 +710,7 @@
txt.flush()
self.assertEquals(buf.getvalue(), expected)
- def XXXtestNewlines(self):
+ def testNewlines(self):
input_lines = [ "unix\n", "windows\r\n", "os9\r", "last\n", "nonl" ]
tests = [
@@ -749,7 +749,7 @@
self.assertEquals(got_line, exp_line)
self.assertEquals(len(got_lines), len(exp_lines))
- def XXXtestNewlinesInput(self):
+ def testNewlinesInput(self):
testdata = b"AAA\nBBB\nCCC\rDDD\rEEE\r\nFFF\r\nGGG"
normalized = testdata.replace(b"\r\n", b"\n").replace(b"\r", b"\n")
for newline, expected in [
@@ -1002,7 +1002,7 @@
print("Reading using readline(): %6.3f seconds" % (t3-t2))
print("Using readline()+tell(): %6.3f seconds" % (t4-t3))
- def XXXtestReadOneByOne(self):
+ def testReadOneByOne(self):
txt = io.TextIOWrapper(io.BytesIO(b"AA\r\nBB"))
reads = ""
while True:
@@ -1013,7 +1013,7 @@
self.assertEquals(reads, "AA\nBB")
# read in amounts equal to TextIOWrapper._CHUNK_SIZE which is 128.
- def XXXtestReadByChunk(self):
+ def testReadByChunk(self):
# make sure "\r\n" straddles 128 char boundary.
txt = io.TextIOWrapper(io.BytesIO(b"A" * 127 + b"\r\nB"))
reads = ""
@@ -1024,7 +1024,7 @@
reads += c
self.assertEquals(reads, "A"*127+"\nB")
- def XXXtest_issue1395_1(self):
+ def test_issue1395_1(self):
txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ascii")
# read one char at a time
@@ -1036,7 +1036,7 @@
reads += c
self.assertEquals(reads, self.normalized)
- def XXXtest_issue1395_2(self):
+ def test_issue1395_2(self):
txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ascii")
txt._CHUNK_SIZE = 4
@@ -1048,7 +1048,7 @@
reads += c
self.assertEquals(reads, self.normalized)
- def XXXtest_issue1395_3(self):
+ def test_issue1395_3(self):
txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ascii")
txt._CHUNK_SIZE = 4
@@ -1059,7 +1059,7 @@
reads += txt.readline()
self.assertEquals(reads, self.normalized)
- def XXXtest_issue1395_4(self):
+ def test_issue1395_4(self):
txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ascii")
txt._CHUNK_SIZE = 4
@@ -1088,40 +1088,40 @@
decoder = codecs.getincrementaldecoder("utf-8")()
decoder = io.IncrementalNewlineDecoder(decoder, translate=True)
- self.assertEquals(decoder.decode(b'\xe8\xa2\x88'), "\u8888")
+ self.assertEquals(decoder.decode(b'\xe8\xa2\x88'), u"\u8888")
- self.assertEquals(decoder.decode(b'\xe8'), "")
- self.assertEquals(decoder.decode(b'\xa2'), "")
- self.assertEquals(decoder.decode(b'\x88'), "\u8888")
+ self.assertEquals(decoder.decode(b'\xe8'), u"")
+ self.assertEquals(decoder.decode(b'\xa2'), u"")
+ self.assertEquals(decoder.decode(b'\x88'), u"\u8888")
- self.assertEquals(decoder.decode(b'\xe8'), "")
+ self.assertEquals(decoder.decode(b'\xe8'), u"")
self.assertRaises(UnicodeDecodeError, decoder.decode, b'', final=True)
decoder.setstate((b'', 0))
- self.assertEquals(decoder.decode(b'\n'), "\n")
- self.assertEquals(decoder.decode(b'\r'), "")
- self.assertEquals(decoder.decode(b'', final=True), "\n")
- self.assertEquals(decoder.decode(b'\r', final=True), "\n")
-
- self.assertEquals(decoder.decode(b'\r'), "")
- self.assertEquals(decoder.decode(b'a'), "\na")
-
- self.assertEquals(decoder.decode(b'\r\r\n'), "\n\n")
- self.assertEquals(decoder.decode(b'\r'), "")
- self.assertEquals(decoder.decode(b'\r'), "\n")
- self.assertEquals(decoder.decode(b'\na'), "\na")
-
- self.assertEquals(decoder.decode(b'\xe8\xa2\x88\r\n'), "\u8888\n")
- self.assertEquals(decoder.decode(b'\xe8\xa2\x88'), "\u8888")
- self.assertEquals(decoder.decode(b'\n'), "\n")
- self.assertEquals(decoder.decode(b'\xe8\xa2\x88\r'), "\u8888")
- self.assertEquals(decoder.decode(b'\n'), "\n")
+ self.assertEquals(decoder.decode(b'\n'), u"\n")
+ self.assertEquals(decoder.decode(b'\r'), u"")
+ self.assertEquals(decoder.decode(b'', final=True), u"\n")
+ self.assertEquals(decoder.decode(b'\r', final=True), u"\n")
+
+ self.assertEquals(decoder.decode(b'\r'), u"")
+ self.assertEquals(decoder.decode(b'a'), u"\na")
+
+ self.assertEquals(decoder.decode(b'\r\r\n'), u"\n\n")
+ self.assertEquals(decoder.decode(b'\r'), u"")
+ self.assertEquals(decoder.decode(b'\r'), u"\n")
+ self.assertEquals(decoder.decode(b'\na'), u"\na")
+
+ self.assertEquals(decoder.decode(b'\xe8\xa2\x88\r\n'), u"\u8888\n")
+ self.assertEquals(decoder.decode(b'\xe8\xa2\x88'), u"\u8888")
+ self.assertEquals(decoder.decode(b'\n'), u"\n")
+ self.assertEquals(decoder.decode(b'\xe8\xa2\x88\r'), u"\u8888")
+ self.assertEquals(decoder.decode(b'\n'), u"\n")
decoder = codecs.getincrementaldecoder("utf-8")()
decoder = io.IncrementalNewlineDecoder(decoder, translate=True)
self.assertEquals(decoder.newlines, None)
decoder.decode(b"abc\n\r")
- self.assertEquals(decoder.newlines, '\n')
+ self.assertEquals(decoder.newlines, u'\n')
decoder.decode(b"\nabc")
self.assertEquals(decoder.newlines, ('\n', '\r\n'))
decoder.decode(b"abc\r")
Modified: python/branches/trunk-bytearray/Objects/bytesobject.c
==============================================================================
--- python/branches/trunk-bytearray/Objects/bytesobject.c (original)
+++ python/branches/trunk-bytearray/Objects/bytesobject.c Sun Mar 23 21:02:21 2008
@@ -997,12 +997,15 @@
static PyObject *
bytes_str(PyObject *op)
{
+#if 0
if (Py_BytesWarningFlag) {
if (PyErr_WarnEx(PyExc_BytesWarning,
"str() on a bytearray instance", 1))
return NULL;
}
return bytes_repr((PyBytesObject*)op);
+#endif
+ return PyString_FromStringAndSize(((PyBytesObject*)op)->ob_bytes, Py_SIZE(op));
}
static PyObject *
More information about the Python-checkins
mailing list