summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qlist/tst_qlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/tools/qlist/tst_qlist.cpp')
-rw-r--r--tests/auto/corelib/tools/qlist/tst_qlist.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qlist/tst_qlist.cpp b/tests/auto/corelib/tools/qlist/tst_qlist.cpp
index 24dc92c00d..67f3849f94 100644
--- a/tests/auto/corelib/tools/qlist/tst_qlist.cpp
+++ b/tests/auto/corelib/tools/qlist/tst_qlist.cpp
@@ -264,6 +264,8 @@ private slots:
void insertInt() const;
void insertMovable() const;
void insertCustom() const;
+ void insertZeroCount_data();
+ void insertZeroCount() const;
void isEmpty() const;
void last() const;
void lastIndexOf() const;
@@ -290,6 +292,9 @@ private slots:
void resizeComplex_data() const;
void resizeComplex() const;
void resizeCtorAndDtor() const;
+ void resizeToZero() const;
+ void resizeToTheSameSize_data();
+ void resizeToTheSameSize() const;
void reverseIterators() const;
void sizeInt() const;
void sizeMovable() const;
@@ -1716,6 +1721,26 @@ void tst_QList::insertCustom() const
insert<Custom>();
}
+void tst_QList::insertZeroCount_data()
+{
+ QTest::addColumn<int>("pos");
+ QTest::newRow("0") << 0;
+ QTest::newRow("1") << 1;
+}
+
+void tst_QList::insertZeroCount() const
+{
+ QFETCH(int, pos);
+ QList<int> x;
+ x << 0 << 0;
+ x.insert(pos, 0, 1);
+ QCOMPARE(x[pos], 0);
+ QList<int> y;
+ y = x;
+ y.insert(pos, 0, 2);
+ QCOMPARE(y[pos], 0);
+}
+
void tst_QList::isEmpty() const
{
QList<QString> myvec;
@@ -2318,6 +2343,38 @@ void tst_QList::resizeCtorAndDtor() const
QCOMPARE(Custom::counter.loadAcquire(), items);
}
+void tst_QList::resizeToZero() const
+{
+ QList<int> x;
+ QList<int> y;
+ x << 1 << 2;
+ y = x;
+ y.resize(0);
+ QCOMPARE(y.size(), 0);
+ // grow back
+ y.resize(x.size());
+ QCOMPARE(y.size(), x.size());
+ // default initialized
+ QCOMPARE(y[0], 0);
+ QCOMPARE(y[1], 0);
+}
+
+void tst_QList::resizeToTheSameSize_data()
+{
+ QTest::addColumn<QList<int>>("x");
+ QTest::newRow("size 2") << QList({ 1, 2 });
+ QTest::newRow("size 0") << QList<int>();
+}
+
+void tst_QList::resizeToTheSameSize() const
+{
+ QFETCH(QList<int>, x);
+ QList<int> y;
+ y = x;
+ y.resize(x.size());
+ QCOMPARE(y.size(), x.size());
+}
+
void tst_QList::reverseIterators() const
{
QList<int> v;