X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e566ccf1baa97b466884023328e2605c06c55868..488194403efc0093d6ae3c6e0c5731b854258805:/tests/datetime/datetimetest.cpp?ds=sidebyside diff --git a/tests/datetime/datetimetest.cpp b/tests/datetime/datetimetest.cpp index 150bd8fecf..8caa1e71c4 100644 --- a/tests/datetime/datetimetest.cpp +++ b/tests/datetime/datetimetest.cpp @@ -191,6 +191,7 @@ private: CPPUNIT_TEST( TestDateParse ); CPPUNIT_TEST( TestTimeArithmetics ); CPPUNIT_TEST( TestDSTBug ); + CPPUNIT_TEST( TestDateOnly ); CPPUNIT_TEST_SUITE_END(); void TestLeapYears(); @@ -206,6 +207,7 @@ private: void TestDateParse(); void TestTimeArithmetics(); void TestDSTBug(); + void TestDateOnly(); DECLARE_NO_COPY_CLASS(DateTimeTestCase) }; @@ -637,7 +639,7 @@ void DateTimeTestCase::TestTimeFormat() // convert back wxDateTime dt2; - const wxChar *result = dt2.ParseFormat(s, fmt); + const wxChar *result = dt2.ParseFormat(s.c_str(), fmt); if ( !result ) { // converion failed - should it have? @@ -671,6 +673,10 @@ void DateTimeTestCase::TestTimeFormat() case CompareTime: CPPUNIT_ASSERT( dt.IsSameTime(dt2) ); break; + + case CompareNone: + wxFAIL_MSG( _T("unexpected") ); + break; } } } @@ -686,11 +692,18 @@ void DateTimeTestCase::TestTimeSpanFormat() const wxChar *result; } testSpans[] = { - { 12, 34, 56, 789, _T("%H:%M:%S.%l"), _T("12:34:56.789") }, - { 1, 2, 3, 0, _T("%H:%M:%S"), _T("01:02:03") }, - { 1, 2, 3, 0, _T("%S"), _T("3723") }, - { -1, -2, -3, 0, _T("%S"), _T("-3723") }, - { -1, -2, -3, 0, _T("%H:%M:%S"), _T("-01:02:03") }, + { 12, 34, 56, 789, _T("%H:%M:%S.%l"), _T("12:34:56.789") }, + { 1, 2, 3, 0, _T("%H:%M:%S"), _T("01:02:03") }, + { 1, 2, 3, 0, _T("%S"), _T("3723") }, + { -1, -2, -3, 0, _T("%S"), _T("-3723") }, + { -1, -2, -3, 0, _T("%H:%M:%S"), _T("-01:02:03") }, + { 26, 0, 0, 0, _T("%H"), _T("26") }, + { 26, 0, 0, 0, _T("%D, %H"), _T("1, 02") }, + { -26, 0, 0, 0, _T("%H"), _T("-26") }, + { -26, 0, 0, 0, _T("%D, %H"), _T("-1, 02") }, + { 219, 0, 0, 0, _T("%H"), _T("219") }, + { 219, 0, 0, 0, _T("%D, %H"), _T("9, 03") }, + { 219, 0, 0, 0, _T("%E, %D, %H"), _T("1, 2, 03") }, }; for ( size_t n = 0; n < WXSIZEOF(testSpans); n++ ) @@ -841,11 +854,11 @@ void DateTimeTestCase::TestDSTBug() { ///////////////////////// // Test GetEndDST() - wxDateTime dt = wxDateTime::GetEndDST(2004); + wxDateTime dt = wxDateTime::GetEndDST(2004, wxDateTime::France); CPPUNIT_ASSERT_EQUAL(31, (int)dt.GetDay()); CPPUNIT_ASSERT_EQUAL(wxDateTime::Oct, dt.GetMonth()); CPPUNIT_ASSERT_EQUAL(2004, (int)dt.GetYear()); - CPPUNIT_ASSERT_EQUAL(2, (int)dt.GetHour()); + CPPUNIT_ASSERT_EQUAL(1, (int)dt.GetHour()); CPPUNIT_ASSERT_EQUAL(0, (int)dt.GetMinute()); CPPUNIT_ASSERT_EQUAL(0, (int)dt.GetSecond()); CPPUNIT_ASSERT_EQUAL(0, (int)dt.GetMillisecond()); @@ -909,4 +922,20 @@ void DateTimeTestCase::TestDSTBug() #endif // CHANGE_SYSTEM_DATE } +void DateTimeTestCase::TestDateOnly() +{ + wxDateTime dt(19, wxDateTime::Jan, 2007, 15, 01, 00); + + static const wxDateTime::wxDateTime_t DATE_ZERO = 0; + CPPUNIT_ASSERT_EQUAL( DATE_ZERO, dt.GetDateOnly().GetHour() ); + CPPUNIT_ASSERT_EQUAL( DATE_ZERO, dt.GetDateOnly().GetMinute() ); + CPPUNIT_ASSERT_EQUAL( DATE_ZERO, dt.GetDateOnly().GetSecond() ); + CPPUNIT_ASSERT_EQUAL( DATE_ZERO, dt.GetDateOnly().GetMillisecond() ); + + dt.ResetTime(); + CPPUNIT_ASSERT_EQUAL( wxDateTime(19, wxDateTime::Jan, 2007), dt ); + + CPPUNIT_ASSERT_EQUAL( wxDateTime::Today(), wxDateTime::Now().GetDateOnly() ); +} + #endif // wxUSE_DATETIME