From 72bcd6a00865af8229c30b5e2914ecdbe3dac7b9 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Tue, 1 Nov 2022 17:04:39 +0100 Subject: [PATCH] Add setting for Setting::Handle --- tests/shared/src/SettingsTests.cpp | 35 ++++++++++++++++++++++++++++++ tests/shared/src/SettingsTests.h | 3 +++ 2 files changed, 38 insertions(+) diff --git a/tests/shared/src/SettingsTests.cpp b/tests/shared/src/SettingsTests.cpp index f38ff15eaf..340d01f1d5 100644 --- a/tests/shared/src/SettingsTests.cpp +++ b/tests/shared/src/SettingsTests.cpp @@ -75,6 +75,10 @@ void SettingsTests::testSettings() { s.setValue("settingsTest", 1); QVERIFY(sm->value("settingsTest") == 1); + + QVERIFY(!sm->contains("nonExistingKey")); + QVERIFY(sm->value("nonExistingKey") == QVariant()); + } void SettingsTests::testGroups() { @@ -142,6 +146,37 @@ void SettingsTests::testArrayInGroup() { QVERIFY(sm->value("valueNotInArrayOrGroup") == 8); } +void SettingsTests::testHandleUnused() { + + { + Setting::Handle testHandle("unused_handle", -1); + } +} + +void SettingsTests::testHandle() { + auto sm = DependencyManager::get(); + Setting::Handle testHandle("integer_value", -1); + + QVERIFY(!testHandle.isSet()); + QVERIFY(testHandle.get() == -1); + QVERIFY(testHandle.get(-5) == -5); + QVERIFY(testHandle.getDefault() == -1); + + testHandle.set(42); + QVERIFY(testHandle.get() == 42); + QVERIFY(testHandle.isSet()); + QVERIFY(sm->value("integer_value") == 42); + + testHandle.reset(); + QVERIFY(testHandle.get() == -1); + QVERIFY(testHandle.isSet()); + QVERIFY(sm->value("integer_value") == -1); + + testHandle.remove(); + QVERIFY(!testHandle.isSet()); +} + + void SettingsTests::benchmarkSetValue() { auto sm = DependencyManager::get(); int i = 0; diff --git a/tests/shared/src/SettingsTests.h b/tests/shared/src/SettingsTests.h index 4f4aff3e5a..29b92f9377 100644 --- a/tests/shared/src/SettingsTests.h +++ b/tests/shared/src/SettingsTests.h @@ -34,6 +34,9 @@ private slots: void testArray(); void testArrayInGroup(); + void testHandleUnused(); + void testHandle(); + void benchmarkSetValue(); void benchmarkSaveSettings();