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