Make wxTimeSpan::operator-() const
Due to an oversight, it wasn't declared as const, making it impossible to subtract from a const wxTimeSpan object. Fix this and add a unit test verifying that this compiles and works as expected. Closes #17583.
This commit is contained in:
@@ -1210,7 +1210,7 @@ public:
|
|||||||
inline wxTimeSpan& Subtract(const wxTimeSpan& diff);
|
inline wxTimeSpan& Subtract(const wxTimeSpan& diff);
|
||||||
// subtract another timespan
|
// subtract another timespan
|
||||||
wxTimeSpan& operator-=(const wxTimeSpan& diff) { return Subtract(diff); }
|
wxTimeSpan& operator-=(const wxTimeSpan& diff) { return Subtract(diff); }
|
||||||
inline wxTimeSpan operator-(const wxTimeSpan& ts)
|
inline wxTimeSpan operator-(const wxTimeSpan& ts) const
|
||||||
{
|
{
|
||||||
return wxTimeSpan(GetValue() - ts.GetValue());
|
return wxTimeSpan(GetValue() - ts.GetValue());
|
||||||
}
|
}
|
||||||
|
@@ -1346,6 +1346,10 @@ void DateTimeTestCase::TestTimeArithmetics()
|
|||||||
|
|
||||||
// And a reverse. Now we should use days in Jun (again 30 => 4w 1d)
|
// And a reverse. Now we should use days in Jun (again 30 => 4w 1d)
|
||||||
CPPUNIT_ASSERT_EQUAL( wxDateSpan(0, -10, -4, -1), dtd1.DiffAsDateSpan(dtd2) );
|
CPPUNIT_ASSERT_EQUAL( wxDateSpan(0, -10, -4, -1), dtd1.DiffAsDateSpan(dtd2) );
|
||||||
|
|
||||||
|
const wxTimeSpan ts1 = wxTimeSpan::Seconds(30);
|
||||||
|
const wxTimeSpan ts2 = wxTimeSpan::Seconds(5);
|
||||||
|
CPPUNIT_ASSERT_EQUAL( wxTimeSpan::Seconds(25), ts1 - ts2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void DateTimeTestCase::TestDSTBug()
|
void DateTimeTestCase::TestDSTBug()
|
||||||
|
@@ -30,6 +30,17 @@ inline std::ostream& operator<<(std::ostream& ostr, const wxDateSpan& span)
|
|||||||
return ostr;
|
return ostr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline std::ostream& operator<<(std::ostream& ostr, const wxTimeSpan& span)
|
||||||
|
{
|
||||||
|
ostr << span.GetWeeks() << "W, "
|
||||||
|
<< span.GetDays() << "D, "
|
||||||
|
<< span.GetHours() << ":"
|
||||||
|
<< span.GetMinutes() << ":"
|
||||||
|
<< span.GetSeconds() << "."
|
||||||
|
<< span.GetMilliseconds();
|
||||||
|
|
||||||
|
return ostr;
|
||||||
|
}
|
||||||
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(wxDateTime::wxDateTime_t)
|
WX_CPPUNIT_ALLOW_EQUALS_TO_INT(wxDateTime::wxDateTime_t)
|
||||||
|
|
||||||
#endif // _WX_TESTS_TESTDATE_H_
|
#endif // _WX_TESTS_TESTDATE_H_
|
||||||
|
Reference in New Issue
Block a user