mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-06 00:31:10 +01:00
fixed GH #363: DateTimeParser tryParse/parse
This commit is contained in:
parent
c99c776aff
commit
83d11b5a00
@ -69,6 +69,7 @@ Release 1.5.3 (2014-05-xx)
|
|||||||
- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
|
- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
|
||||||
- fixed GH #290: Unicode support
|
- fixed GH #290: Unicode support
|
||||||
- fixed GH #318: Logger local time doesn't automatically account for DST
|
- fixed GH #318: Logger local time doesn't automatically account for DST
|
||||||
|
- fixed GH #363: DateTimeParser tryParse/parse
|
||||||
|
|
||||||
Release 1.5.2 (2013-09-16)
|
Release 1.5.2 (2013-09-16)
|
||||||
==========================
|
==========================
|
||||||
|
@ -46,6 +46,9 @@ namespace Poco {
|
|||||||
|
|
||||||
void DateTimeParser::parse(const std::string& fmt, const std::string& str, DateTime& dateTime, int& timeZoneDifferential)
|
void DateTimeParser::parse(const std::string& fmt, const std::string& str, DateTime& dateTime, int& timeZoneDifferential)
|
||||||
{
|
{
|
||||||
|
if (fmt.empty() || str.empty())
|
||||||
|
throw SyntaxException("Empty string.");
|
||||||
|
|
||||||
int year = 0;
|
int year = 0;
|
||||||
int month = 0;
|
int month = 0;
|
||||||
int day = 0;
|
int day = 0;
|
||||||
|
@ -505,6 +505,37 @@ void DateTimeParserTest::testCustom()
|
|||||||
assert (dt.hour() == 12);
|
assert (dt.hour() == 12);
|
||||||
assert (dt.minute() == 30);
|
assert (dt.minute() == 30);
|
||||||
assert (dt.second() == 0);
|
assert (dt.second() == 0);
|
||||||
|
|
||||||
|
assert (!DateTimeParser::tryParse("%h:%M %a", "", dt, tzd));
|
||||||
|
assert (!DateTimeParser::tryParse("", "12:30 PM", dt, tzd));
|
||||||
|
assert (!DateTimeParser::tryParse("", "", dt, tzd));
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DateTimeParser::parse("%h:%M %a", "", tzd);
|
||||||
|
fail ("must fail");
|
||||||
|
}
|
||||||
|
catch (SyntaxException&)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DateTimeParser::parse("", "12:30 PM", tzd);
|
||||||
|
fail ("must fail");
|
||||||
|
}
|
||||||
|
catch (SyntaxException&)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DateTimeParser::parse("", "", tzd);
|
||||||
|
fail ("must fail");
|
||||||
|
}
|
||||||
|
catch (SyntaxException&)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ void DirectoryIteratorsTest::testDirectoryIterator()
|
|||||||
result.push_back(file);
|
result.push_back(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals(7, result.size());
|
assertEquals(7, (long) result.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ void DirectoryIteratorsTest::testSortedDirectoryIterator()
|
|||||||
result.push_back(file);
|
result.push_back(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals(7, result.size());
|
assertEquals(7, (long) result.size());
|
||||||
assertEquals("first", result[0]);
|
assertEquals("first", result[0]);
|
||||||
assertEquals("1", result[1]);
|
assertEquals("1", result[1]);
|
||||||
assertEquals("2", result[2]);
|
assertEquals("2", result[2]);
|
||||||
@ -94,7 +94,7 @@ void DirectoryIteratorsTest::testSimpleRecursiveDirectoryIterator()
|
|||||||
result.push_back(file);
|
result.push_back(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals(20, result.size());
|
assertEquals(20, (long) result.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ void DirectoryIteratorsTest::testSiblingsFirstRecursiveDirectoryIterator()
|
|||||||
result.push_back(file);
|
result.push_back(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals(20, result.size());
|
assertEquals(20, (long) result.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -969,7 +969,7 @@ void StringTest::testIntToString()
|
|||||||
{
|
{
|
||||||
char pResult[POCO_MAX_INT_STRING_LEN];
|
char pResult[POCO_MAX_INT_STRING_LEN];
|
||||||
std::size_t sz = POCO_MAX_INT_STRING_LEN;
|
std::size_t sz = POCO_MAX_INT_STRING_LEN;
|
||||||
intToStr(0, 10, pResult, sz, false, sz + 1, ' ');
|
intToStr(0, 10, pResult, sz, false, (int) sz + 1, ' ');
|
||||||
fail ("must throw RangeException");
|
fail ("must throw RangeException");
|
||||||
} catch (RangeException&) { }
|
} catch (RangeException&) { }
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,8 @@ AAAIntroduction
|
|||||||
- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
|
- fixed GH #154 Add support for MYSQL_TYPE_NEWDECIMAL to Poco::Data::MySQL
|
||||||
- fixed GH #290: Unicode support
|
- fixed GH #290: Unicode support
|
||||||
- fixed GH #318: Logger local time doesn't automatically account for DST
|
- fixed GH #318: Logger local time doesn't automatically account for DST
|
||||||
|
- fixed GH #363: DateTimeParser tryParse/parse
|
||||||
|
|
||||||
!!Incompatible Changes and Possible Transition Issues
|
!!Incompatible Changes and Possible Transition Issues
|
||||||
|
|
||||||
- Data::ODBC: UTF-16 Unicode is now directly mapped and recognized as type by ODBC.
|
- Data::ODBC: UTF-16 Unicode is now directly mapped and recognized as type by ODBC.
|
||||||
|
Loading…
Reference in New Issue
Block a user