diff options
Diffstat (limited to 'tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp')
-rw-r--r-- | tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp b/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp index 246560e47f..91501a0106 100644 --- a/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp +++ b/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp @@ -66,6 +66,7 @@ private slots: void lastIndexOf_regExp(); void streamingOperator(); + void assignmentOperator(); void join() const; void join_data() const; void joinEmptiness() const; @@ -296,9 +297,11 @@ void tst_QStringList::removeDuplicates_data() QTest::addColumn<QString>("before"); QTest::addColumn<QString>("after"); QTest::addColumn<int>("count"); + QTest::addColumn<bool>("detached"); - QTest::newRow("empty-1") << "Hello,Hello" << "Hello" << 1; - QTest::newRow("empty-2") << "Hello,World" << "Hello,World" << 0; + QTest::newRow("empty-1") << "Hello,Hello" << "Hello" << 1 << true; + QTest::newRow("empty-2") << "Hello,World" << "Hello,World" << 0 << false; + QTest::newRow("middle") << "Hello,World,Hello" << "Hello,World" << 1 << true; } void tst_QStringList::removeDuplicates() @@ -306,13 +309,16 @@ void tst_QStringList::removeDuplicates() QFETCH(QString, before); QFETCH(QString, after); QFETCH(int, count); + QFETCH(bool, detached); QStringList lbefore = before.split(','); + const QStringList oldlbefore = lbefore; QStringList lafter = after.split(','); int removed = lbefore.removeDuplicates(); QCOMPARE(removed, count); QCOMPARE(lbefore, lafter); + QCOMPARE(detached, !oldlbefore.isSharedWith(lbefore)); } void tst_QStringList::streamingOperator() @@ -321,8 +327,13 @@ void tst_QStringList::streamingOperator() list << "hei"; list << list << "hopp" << list; + QList<QString> slist = list; + list << slist; + QCOMPARE(list, QStringList() << "hei" << "hei" << "hopp" + << "hei" << "hei" << "hopp" + << "hei" << "hei" << "hopp" << "hei" << "hei" << "hopp"); QStringList list2; @@ -334,6 +345,21 @@ void tst_QStringList::streamingOperator() QCOMPARE(list2 << list3, QStringList() << "adam" << "eva"); } +void tst_QStringList::assignmentOperator() +{ + // compile-only test + + QStringList adam; + adam << "adam"; + QList<QString> eva; + eva << "eva"; + QStringList result; + QStringList &ref1 = (result = adam); + QStringList &ref2 = (result = eva); + Q_UNUSED(ref1); + Q_UNUSED(ref2); +} + void tst_QStringList::join() const { QFETCH(QStringList, input); |