--- a/tests/auto/qiodevice/tst_qiodevice.cpp Tue Jul 06 15:10:48 2010 +0300
+++ b/tests/auto/qiodevice/tst_qiodevice.cpp Wed Aug 18 10:37:55 2010 +0300
@@ -72,6 +72,7 @@
void read_QByteArray();
void unget();
void peek();
+ void peekAndRead();
void getch();
void putch();
@@ -354,6 +355,31 @@
QFile::remove("peektestfile");
}
+void tst_QIODevice::peekAndRead()
+{
+ QByteArray originalData;
+ for (int i=0;i<1000;i++)
+ originalData += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ QBuffer buffer;
+ QFile::remove("peektestfile");
+ QFile file("peektestfile");
+
+ for (int i = 0; i < 2; ++i) {
+ QByteArray readData;
+ QIODevice *device = i ? (QIODevice *)&file : (QIODevice *)&buffer;
+ device->open(QBuffer::ReadWrite);
+ device->write(originalData);
+ device->seek(0);
+ while (!device->atEnd()) {
+ char peekIn[26];
+ device->peek(peekIn, 26);
+ readData += device->read(26);
+ }
+ QCOMPARE(readData, originalData);
+ }
+ QFile::remove("peektestfile");
+}
+
void tst_QIODevice::getch()
{
#ifdef QT3_SUPPORT