summaryrefslogtreecommitdiff
path: root/tests/auto/algorithm/tst_algorithm.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2016-08-09 14:36:10 +0200
committerEike Ziller <eike.ziller@qt.io>2016-08-09 13:17:43 +0000
commitc3ee2d06bac45ef4f0fadcbbcda5086613b6941c (patch)
treeadcbfe16a94c72fcd6c83cf663aa79ab70862b0f /tests/auto/algorithm/tst_algorithm.cpp
parenta23e0692b44a21e43024dc596560f9d535c953b4 (diff)
downloadqt-creator-c3ee2d06bac45ef4f0fadcbbcda5086613b6941c.tar.gz
Algorithm: Allow sorting container of pointers with member (function)
Change-Id: I2928081750f86b66e969ec2f7ade9e67ce19a825 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'tests/auto/algorithm/tst_algorithm.cpp')
-rw-r--r--tests/auto/algorithm/tst_algorithm.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/algorithm/tst_algorithm.cpp b/tests/auto/algorithm/tst_algorithm.cpp
index 768309a64f..ca45200c36 100644
--- a/tests/auto/algorithm/tst_algorithm.cpp
+++ b/tests/auto/algorithm/tst_algorithm.cpp
@@ -136,6 +136,16 @@ void tst_Algorithm::sort()
QList<Struct> s4({4, 3, 2, 1});
Utils::sort(s4, &Struct::member);
QCOMPARE(s4, QList<Struct>({1, 2, 3, 4}));
+ // member function with pointers
+ QList<QString> arr1({"12345", "3333", "22"});
+ QList<QString *> s5({&arr1[0], &arr1[1], &arr1[2]});
+ Utils::sort(s5, &QString::size);
+ QCOMPARE(s5, QList<QString *>({&arr1[2], &arr1[1], &arr1[0]}));
+ // member with pointers
+ QList<Struct> arr2({4, 1, 3});
+ QList<Struct *> s6({&arr2[0], &arr2[1], &arr2[2]});
+ Utils::sort(s6, &Struct::member);
+ QCOMPARE(s6, QList<Struct *>({&arr2[1], &arr2[2], &arr2[0]}));
}
QTEST_MAIN(tst_Algorithm)