From 9b6f33f680ce6a4ce9f200ecaf48ad017ac1163a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Mon, 2 Dec 2024 15:12:37 +0100 Subject: [PATCH] QHash: test tryEmplace/insert/OrAssign doesn't require default ... ctor Change-Id: I117dc627226573d52cb107df48aad2f490cd429a Reviewed-by: Thiago Macieira --- tests/auto/corelib/tools/qhash/tst_qhash.cpp | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/auto/corelib/tools/qhash/tst_qhash.cpp b/tests/auto/corelib/tools/qhash/tst_qhash.cpp index 3aa0815464a..b03750389bd 100644 --- a/tests/auto/corelib/tools/qhash/tst_qhash.cpp +++ b/tests/auto/corelib/tools/qhash/tst_qhash.cpp @@ -1938,6 +1938,27 @@ void tst_QHash::dont_need_default_constructor() QVERIFY(hash2.value(QString::number(i), Bar(-1)).j == 2 * i); QVERIFY(hash2.size() == i + 1); } + + QHash hash3; + for (int i = 0; i < 100; ++i) { + hash3.tryEmplace(i, Bar(2 * i)); + QVERIFY(hash3.value(i, Bar(-1)).j == 2 * i); + QVERIFY(hash3.size() == i + 1); + } + + QHash hash4; + for (int i = 0; i < 100; ++i) { + hash4.tryInsert(i, Bar(2 * i)); + QVERIFY(hash4.value(i, Bar(-1)).j == 2 * i); + QVERIFY(hash4.size() == i + 1); + } + + QHash hash5; + for (int i = 0; i < 100; ++i) { + hash5.insertOrAssign(i, Bar(2 * i)); + QVERIFY(hash5.value(i, Bar(-1)).j == 2 * i); + QVERIFY(hash5.size() == i + 1); + } } void tst_QHash::qmultihash_specific()