Since this just adds tests (even though several fail) I have pushed it to master.
/D On Mon, Oct 17, 2016 at 06:30:20PM +0200, Tomaz Canabrava wrote: > bunch of unittests (untested) to apply > I'll run them and fix everything they might raise, and they are safe to > merge as they don't introduce anything new, just test stuff. > > I'm almost finishing the unittests -- finally. > > Tomaz > From 30342569081418cca547795ba278319b4fc0ad00 Mon Sep 17 00:00:00 2001 > From: Tomaz Canabrava <[email protected]> > Date: Mon, 17 Oct 2016 17:50:55 +0200 > Subject: [PATCH 1/4] Tests for Units Preferences. > > Signed-off-by: Tomaz Canabrava <[email protected]> > --- > core/subsurface-qt/SettingsObjectWrapper.cpp | 4 ++- > tests/testpreferences.cpp | 37 > ++++++++++++++++++++++++++++ > 2 files changed, 40 insertions(+), 1 deletion(-) > > diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp > b/core/subsurface-qt/SettingsObjectWrapper.cpp > index 009ca64..101e665 100644 > --- a/core/subsurface-qt/SettingsObjectWrapper.cpp > +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp > @@ -1557,7 +1557,9 @@ int UnitsSettings::verticalSpeedTime() const > > QString UnitsSettings::unitSystem() const > { > - return QString(); /*FIXME: there's no char * units on the prefs. */ > + return prefs.unit_system == METRIC ? QStringLiteral("metric") > + : prefs.unit_system == IMPERIAL ? > QStringLiteral("imperial") > + : QStringLiteral("personalized"); > } > > bool UnitsSettings::coordinatesTraditional() const > diff --git a/tests/testpreferences.cpp b/tests/testpreferences.cpp > index 6847958..50389a0 100644 > --- a/tests/testpreferences.cpp > +++ b/tests/testpreferences.cpp > @@ -410,6 +410,43 @@ void TestPreferences::testPreferences() > TEST(planner->decoSac(),112); > > TEST(planner->decoMode(),RECREATIONAL); > + > + auto units = pref->unit_settings; > + units->setLength(0); > + units->setPressure(0); > + units->setVolume(0); > + units->setTemperature(0); > + units->setWeight(0); > + units->setVerticalSpeedTime(0); > + units->setUnitSystem(QStringLiteral("metric")); > + units->setCoordinatesTraditional(false); > + > + TEST(units->length(),0); > + TEST(units->pressure(),0); > + TEST(units->volume(),0); > + TEST(units->temperature(),0); > + TEST(units->weight(),0); > + TEST(units->verticalSpeedTime(),0); > + TEST(units->unitSystem(),QStringLiteral("metric")); > + TEST(units->coordinatesTraditional(),false); > + > + units->setLength(1); > + units->setPressure(1); > + units->setVolume(1); > + units->setTemperature(1); > + units->setWeight(1); > + units->setVerticalSpeedTime(1); > + units->setUnitSystem(QStringLiteral("fake-metric-system")); > + units->setCoordinatesTraditional(true); > + > + TEST(units->length(),1); > + TEST(units->pressure(),1); > + TEST(units->volume(),1); > + TEST(units->temperature(),1); > + TEST(units->weight(),1); > + TEST(units->verticalSpeedTime(),1); > + TEST(units->unitSystem(),QStringLiteral("personalized")); > + TEST(units->coordinatesTraditional(),true); > } > > QTEST_MAIN(TestPreferences) > -- > 2.10.0 > > From f42562b23d4f4a895dc6fb58bf162586ed7459a0 Mon Sep 17 00:00:00 2001 > From: Tomaz Canabrava <[email protected]> > Date: Mon, 17 Oct 2016 18:01:06 +0200 > Subject: [PATCH 2/4] Add general settings unittests. > > Signed-off-by: Tomaz Canabrava <[email protected]> > --- > tests/testpreferences.cpp | 38 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 38 insertions(+) > > diff --git a/tests/testpreferences.cpp b/tests/testpreferences.cpp > index 50389a0..ba8e6fe 100644 > --- a/tests/testpreferences.cpp > +++ b/tests/testpreferences.cpp > @@ -447,6 +447,44 @@ void TestPreferences::testPreferences() > TEST(units->verticalSpeedTime(),1); > TEST(units->unitSystem(),QStringLiteral("personalized")); > TEST(units->coordinatesTraditional(),true); > + > + auto general = pref->general_settings; > + general->setDefaultFilename ("filename"); > + general->setDefaultCylinder ("cylinder_2"); > + //TODOl: Change this to a enum. > + general->setDefaultFileBehavior (0); > + > + general->setDefaultSetPoint (0); > + general->setO2Consumption (0); > + general->setPscrRatio (0); > + general->setUseDefaultFile (true); > + > + TEST(general->defaultFilename(), QStringLiteral("filename")); > + TEST(general->defaultCylinder(), QStringLiteral("cylinder_2")); > + TEST(general->defaultFileBehavior(), (short)0); > + TEST(general->defaultSetPoint(), 0); > + TEST(general->o2Consumption(), 0); > + TEST(general->pscrRatio(), 0); > + TEST(general->useDefaultFile(), true); > + > + general->setDefaultFilename ("no_file_name"); > + general->setDefaultCylinder ("cylinder_1"); > + //TODOl: Change this to a enum. > + general->setDefaultFileBehavior (1); > + > + general->setDefaultSetPoint (1); > + general->setO2Consumption (1); > + general->setPscrRatio (1); > + general->setUseDefaultFile (false); > + > + TEST(general->defaultFilename(), QStringLiteral("no_file_name")); > + TEST(general->defaultCylinder(), QStringLiteral("cylinder_1")); > + TEST(general->defaultFileBehavior(), (short) 1); > + TEST(general->defaultSetPoint(), 1); > + TEST(general->o2Consumption(), 1); > + TEST(general->pscrRatio(), 1); > + TEST(general->useDefaultFile(), false); > + > } > > QTEST_MAIN(TestPreferences) > -- > 2.10.0 > > From bfe49118c08aa4b9f8c2b2fd706f0cd3f8a37e3e Mon Sep 17 00:00:00 2001 > From: Tomaz Canabrava <[email protected]> > Date: Mon, 17 Oct 2016 18:06:34 +0200 > Subject: [PATCH 3/4] Testcases for display settings > > Signed-off-by: Tomaz Canabrava <[email protected]> > --- > tests/testpreferences.cpp | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/tests/testpreferences.cpp b/tests/testpreferences.cpp > index ba8e6fe..e8e3f09 100644 > --- a/tests/testpreferences.cpp > +++ b/tests/testpreferences.cpp > @@ -485,6 +485,24 @@ void TestPreferences::testPreferences() > TEST(general->pscrRatio(), 1); > TEST(general->useDefaultFile(), false); > > + auto display = pref->display_settings; > + display->setDivelistFont("comic"); > + display->setFontSize(10.0); > + display->setDisplayInvalidDives(true); > + > + TEST(display->divelistFont(),QStringLiteral("comic")); > + TEST(display->fontSize(), 10.0); > + TEST(display->displayInvalidDives(),(short) true); //TODO: this is true > / false. > + > + display->setDivelistFont("helvetica"); > + display->setFontSize(14.0); > + display->setDisplayInvalidDives(false); > + > + TEST(display->divelistFont(),QStringLiteral("helvetica")); > + TEST(display->fontSize(), 14.0); > + TEST(display->displayInvalidDives(),(short) false); > + > + > } > > QTEST_MAIN(TestPreferences) > -- > 2.10.0 > > From 16da16ed91746829c231d356b74a5c0e13b7dbb3 Mon Sep 17 00:00:00 2001 > From: Tomaz Canabrava <[email protected]> > Date: Mon, 17 Oct 2016 18:23:45 +0200 > Subject: [PATCH 4/4] Added language testcase > > also, added a missing method / property > > Signed-off-by: Tomaz Canabrava <[email protected]> > --- > core/subsurface-qt/SettingsObjectWrapper.cpp | 7 +++++- > core/subsurface-qt/SettingsObjectWrapper.h | 3 +++ > tests/testpreferences.cpp | 37 > +++++++++++++++++++++++++++- > 3 files changed, 45 insertions(+), 2 deletions(-) > > diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp > b/core/subsurface-qt/SettingsObjectWrapper.cpp > index 101e665..0e8c8ee 100644 > --- a/core/subsurface-qt/SettingsObjectWrapper.cpp > +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp > @@ -1908,6 +1908,11 @@ bool > LanguageSettingsObjectWrapper::useSystemLanguage() const > return prefs.locale.use_system_language; > } > > +QString LanguageSettingsObjectWrapper::langLocale() const > +{ > + return prefs.locale.lang_locale; > +} > + > void LanguageSettingsObjectWrapper::setUseSystemLanguage(bool value) > { > if (value == prefs.locale.use_system_language) > @@ -1927,7 +1932,7 @@ void > LanguageSettingsObjectWrapper::setLangLocale(const QString &value) > s.beginGroup(group); > s.setValue("UiLangLocale", value); > prefs.locale.lang_locale = copy_string(qPrintable(value)); > - // no need to emit languageChanged since we already do this for > setLanguage > + emit langLocaleChanged(value); > } > > void LanguageSettingsObjectWrapper::setLanguage(const QString& value) > diff --git a/core/subsurface-qt/SettingsObjectWrapper.h > b/core/subsurface-qt/SettingsObjectWrapper.h > index 64e6a5a..d9b8196 100644 > --- a/core/subsurface-qt/SettingsObjectWrapper.h > +++ b/core/subsurface-qt/SettingsObjectWrapper.h > @@ -597,6 +597,7 @@ class LanguageSettingsObjectWrapper : public QObject { > Q_PROPERTY(QString time_format READ timeFormat WRITE > setTimeFormat NOTIFY timeFormatChanged) > Q_PROPERTY(QString date_format READ dateFormat WRITE > setDateFormat NOTIFY dateFormatChanged) > Q_PROPERTY(QString date_format_short READ dateFormatShort WRITE > setDateFormatShort NOTIFY dateFormatShortChanged) > + Q_PROPERTY(QString lang_locale READ langLocale WRITE > setLangLocale NOTIFY langLocaleChanged) > Q_PROPERTY(bool time_format_override READ timeFormatOverride WRITE > setTimeFormatOverride NOTIFY timeFormatOverrideChanged) > Q_PROPERTY(bool date_format_override READ dateFormatOverride WRITE > setDateFormatOverride NOTIFY dateFormatOverrideChanged) > Q_PROPERTY(bool use_system_language READ useSystemLanguage WRITE > setUseSystemLanguage NOTIFY useSystemLanguageChanged) > @@ -604,6 +605,7 @@ class LanguageSettingsObjectWrapper : public QObject { > public: > LanguageSettingsObjectWrapper(QObject *parent); > QString language() const; > + QString langLocale() const; > QString timeFormat() const; > QString dateFormat() const; > QString dateFormatShort() const; > @@ -622,6 +624,7 @@ public slots: > void setUseSystemLanguage (bool value); > signals: > void languageChanged(const QString& value); > + void langLocaleChanged(const QString& value); > void timeFormatChanged(const QString& value); > void dateFormatChanged(const QString& value); > void dateFormatShortChanged(const QString& value); > diff --git a/tests/testpreferences.cpp b/tests/testpreferences.cpp > index e8e3f09..7ba2562 100644 > --- a/tests/testpreferences.cpp > +++ b/tests/testpreferences.cpp > @@ -502,7 +502,42 @@ void TestPreferences::testPreferences() > TEST(display->fontSize(), 14.0); > TEST(display->displayInvalidDives(),(short) false); > > - > + auto language = pref->language_settings; > + language->setLangLocale ("en_US"); > + language->setLanguage ("en"); > + language->setTimeFormat ("hh:mm"); > + language->setDateFormat ("dd/mm/yy"); > + language->setDateFormatShort ("dd/mm"); > + language->setTimeFormatOverride (false); > + language->setDateFormatOverride (false); > + language->setUseSystemLanguage (false); > + > + TEST(language->langLocale(), QStringLiteral("en_US")); > + TEST(language->language(), QStringLiteral("en")); > + TEST(language->timeFormat(), QStringLiteral("hh:mm")); > + TEST(language->dateFormat(), QStringLiteral("dd/mm/yy")); > + TEST(language->dateFormatShort(), QStringLiteral("dd/mm")); > + TEST(language->timeFormatOverride(), false); > + TEST(language->dateFormatOverride(), false); > + TEST(language->useSystemLanguage(), false); > + > + language->setLangLocale ("en_EN"); > + language->setLanguage ("br"); > + language->setTimeFormat ("mm:hh"); > + language->setDateFormat ("yy/mm/dd"); > + language->setDateFormatShort ("dd/yy"); > + language->setTimeFormatOverride (true); > + language->setDateFormatOverride (true); > + language->setUseSystemLanguage (true); > + > + TEST(language->langLocale(), QStringLiteral("en_EN")); > + TEST(language->language(), QStringLiteral("br")); > + TEST(language->timeFormat(), QStringLiteral("mm:hh")); > + TEST(language->dateFormat(), QStringLiteral("yy/mm/dd")); > + TEST(language->dateFormatShort(), QStringLiteral("dd/yy")); > + TEST(language->timeFormatOverride(),true); > + TEST(language->dateFormatOverride(),true); > + TEST(language->useSystemLanguage(), true); > } > > QTEST_MAIN(TestPreferences) > -- > 2.10.0 > > _______________________________________________ > subsurface mailing list > [email protected] > http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
