diff options
Diffstat (limited to 'tests/auto/corelib/tools/qhash/tst_qhash.cpp')
-rw-r--r-- | tests/auto/corelib/tools/qhash/tst_qhash.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qhash/tst_qhash.cpp b/tests/auto/corelib/tools/qhash/tst_qhash.cpp index 3c873d093e..576a1c6107 100644 --- a/tests/auto/corelib/tools/qhash/tst_qhash.cpp +++ b/tests/auto/corelib/tools/qhash/tst_qhash.cpp @@ -93,6 +93,8 @@ private slots: void removeInEmptyHash(); void valueInEmptyHash(); void fineTuningInEmptyHash(); + + void reserveShared(); }; struct IdentityTracker { @@ -2598,5 +2600,20 @@ void tst_QHash::fineTuningInEmptyHash() QVERIFY(hash.capacity() > 0); } +void tst_QHash::reserveShared() +{ + QHash<char, char> hash; + hash.insert('c', 'c'); + auto hash2 = hash; + + QCOMPARE(hash2.capacity(), hash.capacity()); + auto oldCap = hash.capacity(); + + hash2.reserve(100); // This shouldn't crash + + QVERIFY(hash2.capacity() >= 100); + QCOMPARE(hash.capacity(), oldCap); +} + QTEST_APPLESS_MAIN(tst_QHash) #include "tst_qhash.moc" |