summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Lemanissier <eric.lemanissier@gmail.com>2018-03-09 12:09:09 +0100
committerEric Lemanissier <eric.lemanissier@gmail.com>2018-03-10 06:15:31 +0000
commit1e27219968f760501c99f9f744f172d475a57162 (patch)
tree3dfa953002034f8f35e23c2688cadf4d0229b823
parentfee8944cbe2a976e1b4a71c5df048e84a0bc6db0 (diff)
add missing tests of rvalue overloads for QVarLengthArray and QVectorv5.11.0-beta2
they were missing in dd58ddd5d97f0663d5fafb7e81bff4fc7db13ba7 Change-Id: I52a2f855ead7716f8fe887524b27d4bd258f43d3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp9
-rw-r--r--tests/auto/corelib/tools/qvector/tst_qvector.cpp18
2 files changed, 25 insertions, 2 deletions
diff --git a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
index ced1d08d65..ac4c8c8d4e 100644
--- a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
+++ b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
@@ -966,12 +966,14 @@ void tst_QVarLengthArray::insertMove()
QCOMPARE(MyBase::liveCount, 4);
vec.append(std::move(m3));
+ QVERIFY(m3.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m3));
QCOMPARE(MyBase::errorCount, 0);
QCOMPARE(MyBase::liveCount, 4);
QCOMPARE(MyBase::movedCount, 1);
vec.push_back(std::move(m4));
+ QVERIFY(m4.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m3));
QVERIFY(vec.at(1).wasConstructedAt(&m4));
QCOMPARE(MyBase::errorCount, 0);
@@ -979,6 +981,7 @@ void tst_QVarLengthArray::insertMove()
QCOMPARE(MyBase::movedCount, 2);
vec.prepend(std::move(m1));
+ QVERIFY(m1.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m1));
QVERIFY(vec.at(1).wasConstructedAt(&m3));
QVERIFY(vec.at(2).wasConstructedAt(&m4));
@@ -987,9 +990,11 @@ void tst_QVarLengthArray::insertMove()
QCOMPARE(MyBase::movedCount, 3);
vec.insert(1, std::move(m2));
+ QVERIFY(m2.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m1));
QVERIFY(vec.at(1).wasConstructedAt(&m2));
QVERIFY(vec.at(2).wasConstructedAt(&m3));
+ QVERIFY(vec.at(3).wasConstructedAt(&m4));
QCOMPARE(MyBase::copyCount, 0);
QCOMPARE(MyBase::liveCount, 4);
@@ -1014,15 +1019,19 @@ void tst_QVarLengthArray::nonCopyable()
int *const ptr4 = val4.get();
vec.append(std::move(val3));
+ QVERIFY(!val3);
QVERIFY(ptr3 == vec.at(0).get());
vec.append(std::move(val4));
+ QVERIFY(!val4);
QVERIFY(ptr3 == vec.at(0).get());
QVERIFY(ptr4 == vec.at(1).get());
vec.prepend(std::move(val1));
+ QVERIFY(!val1);
QVERIFY(ptr1 == vec.at(0).get());
QVERIFY(ptr3 == vec.at(1).get());
QVERIFY(ptr4 == vec.at(2).get());
vec.insert(1, std::move(val2));
+ QVERIFY(!val2);
QVERIFY(ptr1 == vec.at(0).get());
QVERIFY(ptr2 == vec.at(1).get());
QVERIFY(ptr3 == vec.at(2).get());
diff --git a/tests/auto/corelib/tools/qvector/tst_qvector.cpp b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
index ef10357b6d..600291715a 100644
--- a/tests/auto/corelib/tools/qvector/tst_qvector.cpp
+++ b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
@@ -2895,26 +2895,40 @@ void tst_QVector::insertMove() const
const int instancesCount = Movable::counter.loadAcquire();
{
QVector<Movable> vec;
+ vec.reserve(5);
+ Movable m0;
Movable m1;
Movable m2;
Movable m3;
Movable m4;
vec.append(std::move(m3));
+ QVERIFY(m3.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m3));
vec.push_back(std::move(m4));
+ QVERIFY(m4.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m3));
QVERIFY(vec.at(1).wasConstructedAt(&m4));
vec.prepend(std::move(m1));
+ QVERIFY(m1.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m1));
QVERIFY(vec.at(1).wasConstructedAt(&m3));
QVERIFY(vec.at(2).wasConstructedAt(&m4));
vec.insert(1, std::move(m2));
+ QVERIFY(m2.wasConstructedAt(nullptr));
QVERIFY(vec.at(0).wasConstructedAt(&m1));
QVERIFY(vec.at(1).wasConstructedAt(&m2));
QVERIFY(vec.at(2).wasConstructedAt(&m3));
-
- QCOMPARE(Movable::counter.loadAcquire(), instancesCount + 8);
+ QVERIFY(vec.at(3).wasConstructedAt(&m4));
+ vec.push_front(std::move(m0));
+ QVERIFY(m0.wasConstructedAt(nullptr));
+ QVERIFY(vec.at(0).wasConstructedAt(&m0));
+ QVERIFY(vec.at(1).wasConstructedAt(&m1));
+ QVERIFY(vec.at(2).wasConstructedAt(&m2));
+ QVERIFY(vec.at(3).wasConstructedAt(&m3));
+ QVERIFY(vec.at(4).wasConstructedAt(&m4));
+
+ QCOMPARE(Movable::counter.loadAcquire(), instancesCount + 10);
}
QCOMPARE(Movable::counter.loadAcquire(), instancesCount);
}