summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-09-21 10:06:57 (GMT)
committerTobias Markmann <tm@ayena.de>2015-09-21 10:06:57 (GMT)
commiteed183fbd5d121049d5965d7c60abd65f44d0376 (patch)
tree63caaca65cc39a9fffc3f91dd7cafad79d4be4a5 /Swiften/Base/UnitTest
parent68bb160b993dde045f502f10ecbbccce9d9184c1 (diff)
downloadswift-eed183fbd5d121049d5965d7c60abd65f44d0376.zip
swift-eed183fbd5d121049d5965d7c60abd65f44d0376.tar.bz2
Stop throwing out of range exception from dateTimeToLocalString
The dateTimeToLocalString uses boost functions that may throw an out of range exception for times earlier than 1970. This commit caches this exception and just returns an empty string in this case. Test-Information: Added a unit test to verify this behavior. Change-Id: I05eb17605331e14d9eac04fbfd286362e7d4eb46
Diffstat (limited to 'Swiften/Base/UnitTest')
-rw-r--r--Swiften/Base/UnitTest/DateTimeTest.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/Swiften/Base/UnitTest/DateTimeTest.cpp b/Swiften/Base/UnitTest/DateTimeTest.cpp
index 936a3ec..a9350fa 100644
--- a/Swiften/Base/UnitTest/DateTimeTest.cpp
+++ b/Swiften/Base/UnitTest/DateTimeTest.cpp
@@ -15,12 +15,13 @@ using namespace Swift;
class DateTimeTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(DateTimeTest);
CPPUNIT_TEST(testStringToDateTime_UTC);
CPPUNIT_TEST(testStringToDateTime_WithTimezone);
CPPUNIT_TEST(testDateTimeToString);
+ CPPUNIT_TEST(testDateTimeToLocalStringNotThrowingException);
CPPUNIT_TEST_SUITE_END();
public:
void testStringToDateTime_UTC() {
boost::posix_time::ptime time = stringToDateTime("1969-07-21T02:56:15Z");
@@ -35,9 +36,15 @@ class DateTimeTest : public CppUnit::TestFixture {
void testDateTimeToString() {
boost::posix_time::ptime time = stringToDateTime("1969-07-20T21:56:15-05:00");
CPPUNIT_ASSERT_EQUAL(std::string("1969-07-21T02:56:15Z"), dateTimeToString(time));
}
+
+ void testDateTimeToLocalStringNotThrowingException() {
+ boost::posix_time::ptime time = stringToDateTime("1954-07-20T21:56:15-05:00");
+
+ CPPUNIT_ASSERT_EQUAL(std::string(""), dateTimeToLocalString(time));
+ }
};
CPPUNIT_TEST_SUITE_REGISTRATION(DateTimeTest);