diff options
Diffstat (limited to 'archived/projt-launcher/tests/ProjTExternalUpdater_test.cpp')
| -rw-r--r-- | archived/projt-launcher/tests/ProjTExternalUpdater_test.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/archived/projt-launcher/tests/ProjTExternalUpdater_test.cpp b/archived/projt-launcher/tests/ProjTExternalUpdater_test.cpp new file mode 100644 index 0000000000..4c22ca9040 --- /dev/null +++ b/archived/projt-launcher/tests/ProjTExternalUpdater_test.cpp @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-3.0-only +// SPDX-FileCopyrightText: 2026 Project Tick +// SPDX-FileContributor: Project Tick Team + +#include <QSettings> +#include <QTemporaryDir> +#include <QTest> + +#include <updater/ProjTExternalUpdater.h> + +class ProjTExternalUpdaterTest : public QObject +{ + Q_OBJECT + + private slots: + void defaultsFromEmptySettings() + { + QTemporaryDir tempDir; + QVERIFY(tempDir.isValid()); + + ProjTExternalUpdater updater(nullptr, tempDir.path(), tempDir.path()); + QCOMPARE(updater.getAutomaticallyChecksForUpdates(), false); + QCOMPARE(updater.getBetaAllowed(), false); + QCOMPARE(updater.getUpdateCheckInterval(), 86400.0); + } + + void invalidIntervalFallsBackToDefault() + { + QTemporaryDir tempDir; + QVERIFY(tempDir.isValid()); + + const auto settingsPath = QDir(tempDir.path()).absoluteFilePath("projtlauncher_update.cfg"); + { + QSettings settings(settingsPath, QSettings::IniFormat); + settings.setValue("update_interval", "not-a-number"); + settings.sync(); + } + + ProjTExternalUpdater updater(nullptr, tempDir.path(), tempDir.path()); + QCOMPARE(updater.getUpdateCheckInterval(), 86400.0); + } + + void settersUpdateState() + { + QTemporaryDir tempDir; + QVERIFY(tempDir.isValid()); + + ProjTExternalUpdater updater(nullptr, tempDir.path(), tempDir.path()); + updater.setUpdateCheckInterval(3600); + updater.setAutomaticallyChecksForUpdates(true); + updater.setBetaAllowed(true); + + QCOMPARE(updater.getUpdateCheckInterval(), 3600.0); + QCOMPARE(updater.getAutomaticallyChecksForUpdates(), true); + QCOMPARE(updater.getBetaAllowed(), true); + } +}; + +QTEST_GUILESS_MAIN(ProjTExternalUpdaterTest) + +#include "ProjTExternalUpdater_test.moc" |
