summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdecore/krfcdate.cpp10
-rw-r--r--tdecore/tests/CMakeLists.txt42
-rw-r--r--tdecore/tests/krfcdatetest.cpp6
3 files changed, 43 insertions, 15 deletions
diff --git a/tdecore/krfcdate.cpp b/tdecore/krfcdate.cpp
index 327736b40..08691fd15 100644
--- a/tdecore/krfcdate.cpp
+++ b/tdecore/krfcdate.cpp
@@ -431,12 +431,16 @@ KRFCDate::parseDateISO8601( const TQString& input_ )
l = TQStringList::split(':', timeString);
- if (l.size() < 3)
+ // If the 'T' separator was included, there must at least
+ // be the hour, if not then it is invalid.
+ if (l.size() < 1)
return 0;
hour = l[0].toUInt();
- min = l[1].toUInt();
- sec = l[2].toUInt();
+
+ // Minutes and seconds can be omitted.
+ min = (l.size() >= 2) ? l[1].toUInt() : 0;
+ sec = (l.size() >= 3) ? l[2].toUInt() : 0;
time_t result = ymdhms_to_seconds(year, month, mday, hour, min, sec);
diff --git a/tdecore/tests/CMakeLists.txt b/tdecore/tests/CMakeLists.txt
index 6ccc215bd..cc6d45049 100644
--- a/tdecore/tests/CMakeLists.txt
+++ b/tdecore/tests/CMakeLists.txt
@@ -30,23 +30,41 @@ tde_add_library( tdeconfigtest SHARED AUTOMOC
EXCLUDE_FROM_ALL
)
-set( CHECKS
- tdeconfigtestgui klocaletest kprocesstest ksimpleconfigtest kstandarddirstest
- kuniqueapptest ktempfiletest krandomsequencetest kdebugtest
- ksocktest kstringhandlertest kcmdlineargstest kapptest kmemtest
- dcopkonqtest kipctest cplusplustest kiconloadertest kresolvertest
- kmdcodectest knotifytest ksortablevaluelisttest krfcdatetest testqtargs
- kprociotest kcharsetstest kcalendartest kmacroexpandertest kshelltest
- kxerrorhandlertest startserviceby kglobaltest ktimezonestest
+set( AUTOMATED_CHECKS
+ kcharsetstest kglobaltest kmacroexpandertest krfcdatetest
+ kstringhandlertest kurltest tdestdacceltest
+
+ # cplusplustest # -- skip (doesn't error on errors)
+ # ksimpleconfigtest # -- skip (doesn't error on errors)
+ # ksortablevaluelist # -- skip (doesn't error on errors)
+ # ksocktest # -- skip due to DNS failure
)
+# Tests that require some graphical interaction / confirmation.
+set( MANUAL_CHECKS_GUI
+ kdebugtest klocaletest knotifytest kxerrorhandlertest
+ startserviceby tdeconfigtestgui kprocesstest testqtargs
+)
-foreach( _check ${CHECKS} )
- tde_add_check_executable( ${_check} AUTOMOC LINK tdeconfigtest-shared )
+# Tests that require some interaction using a terminal
+set( MANUAL_CHECKS_TUI
+ dcopkonqtest kcalendartest kcmdlineargstest kiconloadertest
+ kipctest kmemtest krandomsequencetest kresolvertest
+ kmdcodectest kshelltest ktempfiletest ktimezonestest
+ kapptest kprociotest kstandarddirstest kuniqueapptest
+)
+
+foreach( _check ${AUTOMATED_CHECKS} )
+ tde_add_check_executable( ${_check} AUTOMOC LINK tdeconfigtest-shared TEST )
endforeach( )
-tde_add_check_executable( kurltest AUTOMOC LINK tdeconfigtest-shared TEST )
-tde_add_check_executable( tdestdacceltest AUTOMOC LINK tdeconfigtest-shared TEST )
+foreach( _check ${MANUAL_CHECKS_GUI})
+ tde_add_check_executable( ${_check} AUTOMOC LINK tdeconfigtest-shared )
+endforeach()
+
+foreach( _check ${MANUAL_CHECKS_TUI})
+ tde_add_check_executable( ${_check} AUTOMOC LINK tdeconfigtest-shared )
+endforeach()
tde_add_check_executable( kidlservertest AUTOMOC SOURCES KIDLTest.cpp KIDLTest.skel
LINK tdeconfigtest-shared )
diff --git a/tdecore/tests/krfcdatetest.cpp b/tdecore/tests/krfcdatetest.cpp
index 94358a8f1..c67c5a4e2 100644
--- a/tdecore/tests/krfcdatetest.cpp
+++ b/tdecore/tests/krfcdatetest.cpp
@@ -59,6 +59,12 @@ int main(int argc, char *argv[])
a = KRFCDate::parseDateISO8601("1994-01-01");
check( "1994-01-01", a, b );
+ a = KRFCDate::parseDateISO8601("1994-01-01T12");
+ check("1994-01-01T12", a, b);
+
+ a = KRFCDate::parseDateISO8601("1994-01-01T12:00");
+ check("1994-01-01T12:00", a, b);
+
b = 0;
// pass RFC date to ISO parser