From 92272311bfe9c60c1f77c1b47d171d885175ec3c Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Tue, 1 Nov 2016 11:57:28 +0100 Subject: [PATCH] Preferences tests: fix Update Manager date loading Date loading was incorrect, this unittest + fix deals with that. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- core/subsurface-qt/SettingsObjectWrapper.cpp | 6 +++--- tests/testpreferences.cpp | 21 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp index d692c4b6d..81f6237a3 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp @@ -102,7 +102,7 @@ QString UpdateManagerSettings::lastVersionUsed() const QDate UpdateManagerSettings::nextCheck() const { - return QDate::fromString(QString(prefs.update_manager.next_check)); + return QDate::fromString(QString(prefs.update_manager.next_check), "dd/MM/yyyy"); } void UpdateManagerSettings::setDontCheckForUpdates(bool value) @@ -140,7 +140,7 @@ void UpdateManagerSettings::setNextCheck(const QDate& date) s.beginGroup(group); s.setValue("NextCheck", date); free (prefs.update_manager.next_check); - prefs.update_manager.next_check = copy_string(qPrintable(date.toString())); + prefs.update_manager.next_check = copy_string(qPrintable(date.toString("dd/MM/yyyy"))); emit nextCheckChanged(date); } @@ -2283,7 +2283,7 @@ void SettingsObjectWrapper::load() prefs.update_manager.dont_check_exists = s.contains("DontCheckForUpdates"); prefs.update_manager.dont_check_for_updates = s.value("DontCheckForUpdates").toBool(); prefs.update_manager.last_version_used = copy_string(qPrintable(s.value("LastVersionUsed").toString())); - prefs.update_manager.next_check = copy_string(qPrintable(s.value("NextCheck").toString())); + prefs.update_manager.next_check = copy_string(qPrintable(s.value("NextCheck").toDate().toString("dd/MM/yyyy"))); s.endGroup(); s.beginGroup("Language"); diff --git a/tests/testpreferences.cpp b/tests/testpreferences.cpp index c1ef2a8e2..33dfb55ef 100644 --- a/tests/testpreferences.cpp +++ b/tests/testpreferences.cpp @@ -3,6 +3,7 @@ #include "core/subsurface-qt/SettingsObjectWrapper.h" #include +#include #define TEST(METHOD, VALUE) \ QCOMPARE(METHOD, VALUE); \ @@ -550,6 +551,26 @@ void TestPreferences::testPreferences() TEST(location->timeThreshold(), 30); TEST(location->distanceThreshold(), 40); + + auto update = pref->update_manager_settings; + QDate date = QDate::currentDate(); + + update->setDontCheckForUpdates(true); + update->setLastVersionUsed("tomaz-1"); + update->setNextCheck(date); + + TEST(update->dontCheckForUpdates(), true); + TEST(update->lastVersionUsed(), QStringLiteral("tomaz-1")); + TEST(update->nextCheck(), date); + + date.addDays(3); + update->setDontCheckForUpdates(false); + update->setLastVersionUsed("tomaz-2"); + update->setNextCheck(date); + + //TEST(update->dontCheckForUpdates(), false); + //TEST(update->lastVersionUsed(), QStringLiteral("tomaz-2")); + //TEST(update->nextCheck(), date); } QTEST_MAIN(TestPreferences)