summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2014-03-26 15:21:38 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-11 22:54:40 +0200
commitd5b7b4e41cb9fa6cd14129336ce853a0564a7fea (patch)
tree9913fb853884dea0023752b48faaada5318ef0a5 /tests/auto/corelib/tools
parenta74e4b85be83e2da47f4a1d8fcf0e78079335b80 (diff)
QStringList: add op= overloads for QList<QString>
QStringList = QList<QString> already compiled, but was interpreted as QStringList = QStringList(QList<QString>), which involves the QList copy ctor. Adding the overload saves that copy. Cannot use a using declaration here, since the return type is different. Change-Id: I9f4feb2f97480d2d6a3b6fa7c71b5d511b623601 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/tools')
-rw-r--r--tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp b/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp
index d5506f3391..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;
@@ -344,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);