summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qringbuffer
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/tools/qringbuffer')
-rw-r--r--tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp b/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp
index deee7171b1..e355a7fcfb 100644
--- a/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp
+++ b/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp
@@ -48,6 +48,7 @@ private slots:
void reserveAndReadInPacketMode();
void reserveFrontAndRead();
void chop();
+ void readPointerValidity();
void ungetChar();
void indexOf();
void appendAndRead();
@@ -303,6 +304,21 @@ void tst_QRingBuffer::chop()
QVERIFY(memcmp(ringBuffer.readPointer(), "0123", 4) == 0);
}
+void tst_QRingBuffer::readPointerValidity()
+{
+ QRingBuffer ringBuffer(16);
+ QByteArray ba("Hello world!");
+
+ ringBuffer.append(ba);
+ const char *ptr = ringBuffer.readPointer();
+ ba.clear();
+ ringBuffer.reserve(32);
+ QVERIFY(ptr == ringBuffer.readPointer());
+ ringBuffer.reserveFront(32);
+ qint64 dummy;
+ QVERIFY(ptr == ringBuffer.readPointerAtPosition(32, dummy));
+}
+
void tst_QRingBuffer::ungetChar()
{
QRingBuffer ringBuffer(16);