diff options
Diffstat (limited to 'tests/auto/corelib/tools/qringbuffer')
-rw-r--r-- | tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp | 16 |
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); |