tests/auto/qbuffer/tst_qbuffer.cpp
changeset 25 e24348a560a6
parent 18 2f34d5167611
--- a/tests/auto/qbuffer/tst_qbuffer.cpp	Thu May 27 13:40:48 2010 +0300
+++ b/tests/auto/qbuffer/tst_qbuffer.cpp	Fri Jun 11 14:24:45 2010 +0300
@@ -76,6 +76,7 @@
     void atEnd();
     void readLineBoundaries();
     void writeAfterQByteArrayResize();
+    void read_null();
 
 protected slots:
     void readyReadSlot();
@@ -529,5 +530,30 @@
     QCOMPARE(buffer.buffer().size(), 1000);
 }
 
+void tst_QBuffer::read_null()
+{
+    QByteArray buffer;
+    buffer.resize(32000);
+    for (int i = 0; i < buffer.size(); ++i)
+        buffer[i] = char(i & 0xff);
+
+    QBuffer in(&buffer);
+    in.open(QIODevice::ReadOnly);
+
+    QByteArray chunk;
+
+    chunk.resize(16380);
+    in.read(chunk.data(), 16380);
+
+    QCOMPARE(chunk, buffer.mid(0, chunk.size()));
+
+    in.read(chunk.data(), 0);
+
+    chunk.resize(8);
+    in.read(chunk.data(), chunk.size());
+
+    QCOMPARE(chunk, buffer.mid(16380, chunk.size()));
+}
+
 QTEST_MAIN(tst_QBuffer)
 #include "tst_qbuffer.moc"