diff --git a/tests/auto/corelib/tools/qhash/tst_qhash.cpp b/tests/auto/corelib/tools/qhash/tst_qhash.cpp index c906924b2b5..977fcc73b78 100644 --- a/tests/auto/corelib/tools/qhash/tst_qhash.cpp +++ b/tests/auto/corelib/tools/qhash/tst_qhash.cpp @@ -3,8 +3,10 @@ #include +#include #include #include +#include #include #include @@ -62,6 +64,7 @@ private slots: void eraseValidIteratorOnSharedHash(); void equal_range(); void insert_hash(); + void multiHashStoresInReverseInsertionOrder(); void emplace(); @@ -2484,6 +2487,24 @@ void tst_QHash::insert_hash() } } +void tst_QHash::multiHashStoresInReverseInsertionOrder() +{ + const QString strings[] = { + u"zero"_s, + u"null"_s, + u"nada"_s, + }; + { + QMultiHash hash; + for (const QString &string : strings) + hash.insert(0, string); + auto printOnFailure = qScopeGuard([&] { qDebug() << hash; }); + QVERIFY(std::equal(hash.begin(), hash.end(), + std::rbegin(strings), std::rend(strings))); + printOnFailure.dismiss(); + } +} + void tst_QHash::emplace() { { diff --git a/tests/auto/corelib/tools/qmap/tst_qmap.cpp b/tests/auto/corelib/tools/qmap/tst_qmap.cpp index 577ea1e8989..93bf0b50706 100644 --- a/tests/auto/corelib/tools/qmap/tst_qmap.cpp +++ b/tests/auto/corelib/tools/qmap/tst_qmap.cpp @@ -3,7 +3,11 @@ #include #include + #include +#include + +using namespace Qt::StringLiterals; QT_WARNING_DISABLE_DEPRECATED @@ -61,6 +65,8 @@ private slots: void removeElementsInMap(); void toStdMap(); + void multiMapStoresInReverseInsertionOrder(); + // Tests for deprecated APIs. #if QT_DEPRECATED_SINCE(6, 0) void deprecatedInsertMulti(); @@ -2548,6 +2554,24 @@ void tst_QMap::toStdMap() toStdMapTestMethod>(expectedMultiMap); } +void tst_QMap::multiMapStoresInReverseInsertionOrder() +{ + const QString strings[] = { + u"zero"_s, + u"null"_s, + u"nada"_s, + }; + { + QMultiMap map; + for (const QString &string : strings) + map.insert(0, string); + auto printOnFailure = qScopeGuard([&] { qDebug() << map; }); + QVERIFY(std::equal(map.begin(), map.end(), + std::rbegin(strings), std::rend(strings))); + printOnFailure.dismiss(); + } +} + #if QT_DEPRECATED_SINCE(6, 0) void tst_QMap::deprecatedInsertMulti() {