summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2020-02-06 06:46:21 +0100
committerPaul Lemire <paul.lemire@kdab.com>2020-02-06 13:58:52 +0100
commita054e92ba05a32d13b91908597618b43709c5f68 (patch)
treea935821b3b9b0eb1946f0f6eeed89a9cd5a44dfb /tests
parent0159963cf5072e05d068fd7a9b58085ac70021c1 (diff)
tst_qresoucemanager: add test to make sure cleanup is working
Change-Id: I5006778b74fee6d030f65deaba86bb38a7a0a86b Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp b/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp
index 9a387a919..a41ea83b5 100644
--- a/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp
+++ b/tests/auto/core/qresourcemanager/tst_qresourcemanager.cpp
@@ -50,6 +50,7 @@ private slots:
void heavyDutyMultiThreadedAccessRelease();
void collectResources();
void activeHandles();
+ void checkCleanup();
};
class tst_ArrayResource
@@ -422,6 +423,26 @@ void tst_QResourceManager::activeHandles()
}
}
+void tst_QResourceManager::checkCleanup()
+{
+ // GIVEN
+ Qt3DCore::QResourceManager<tst_ArrayResource, uint> manager;
+
+ // WHEN
+ tHandle newHandle = manager.getOrAcquireHandle(883U);
+ tst_ArrayResource *data = manager.data(newHandle);
+
+ data->m_value.ref();
+ // THEN
+ QCOMPARE(data->m_value.load(), 1);
+
+ // WHEN
+ manager.release(newHandle);
+
+ // THEN
+ QCOMPARE(data->m_value.load(), 0);
+}
+