/* * Deskflow -- mouse and keyboard sharing utility * SPDX-FileCopyrightText: (C) 2025 Chris Rizzitello * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception */ #include "SettingsTests.h" #include #include void SettingsTests::initTestCase() { QFile oldSettings(m_settingsFile); if (oldSettings.exists()) oldSettings.remove(); } void SettingsTests::setSettingsFile() { Settings::setSettingFile(m_settingsFile); } void SettingsTests::settingsFile() { QVERIFY(Settings::settingsFile().endsWith(m_settingsFile)); } void SettingsTests::settingsPath() { QVERIFY(Settings::settingsPath().endsWith(m_settingsPath)); } void SettingsTests::tlsDir() { QVERIFY(Settings::tlsDir().endsWith(m_expectedTlsDir)); } void SettingsTests::tlsLocalDb() { QVERIFY(Settings::tlsLocalDb().endsWith(m_expectedTlsLocalDB)); } void SettingsTests::tlsTrustedServersDb() { QVERIFY(Settings::tlsTrustedServersDb().endsWith(m_expectedTlsServerDB)); } void SettingsTests::tlsTrustedClientsDb() { QVERIFY(Settings::tlsTrustedClientsDb().endsWith(m_expectedTlsClientDB)); } void SettingsTests::checkValidSettings() { QSignalSpy spy(Settings::instance(), &Settings::settingsChanged); QVERIFY(spy.isValid()); const auto validKeys = Settings::validKeys(); for (const auto &setting : validKeys) { const auto value = Settings::value(setting).toString(); QCOMPARE(Settings::defaultValue(setting).toString(), value); Settings::setValue(setting, "NEW_VALUE"); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast(spy.first().at(0)), setting); QCOMPARE(Settings::value(setting).toString(), "NEW_VALUE"); Settings::setValue(setting, QVariant()); QCOMPARE(spy.count(), 2); QCOMPARE(Settings::value(setting).toString(), value); // Reset the spy for the next loop spy.clear(); QCOMPARE(spy.count(), 0); } } QTEST_MAIN(SettingsTests)