Enhancement
- Allows relative dates such as "1st" to be entered with capital ("1ST").
This commit is contained in:
committed by
Paul Beckingham
parent
ee0a16f663
commit
b5cd5ea188
14
src/Date.cpp
14
src/Date.cpp
@@ -992,21 +992,21 @@ bool Date::isRelativeDate (const std::string& input)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Support "21st" to indicate the next date that is the 21st day.
|
// Support "21st" to indicate the next date that is the 21st day.
|
||||||
else if (input.length () <= 4 &&
|
else if (in.length () <= 4 &&
|
||||||
isdigit (input[0]))
|
isdigit (in[0]))
|
||||||
{
|
{
|
||||||
int number;
|
int number;
|
||||||
std::string ordinal;
|
std::string ordinal;
|
||||||
|
|
||||||
if (isdigit (input[1]))
|
if (isdigit (in[1]))
|
||||||
{
|
{
|
||||||
number = atoi (input.substr (0, 2).c_str ());
|
number = atoi (in.substr (0, 2).c_str ());
|
||||||
ordinal = lowerCase (input.substr (2));
|
ordinal = lowerCase (in.substr (2));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
number = atoi (input.substr (0, 2).c_str ());
|
number = atoi (in.substr (0, 2).c_str ());
|
||||||
ordinal = lowerCase (input.substr (1));
|
ordinal = lowerCase (in.substr (1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sanity check.
|
// Sanity check.
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ Context context;
|
|||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
int main (int argc, char** argv)
|
int main (int argc, char** argv)
|
||||||
{
|
{
|
||||||
UnitTest t (174);
|
UnitTest t (177);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -342,6 +342,13 @@ int main (int argc, char** argv)
|
|||||||
Date r16 ("soy");
|
Date r16 ("soy");
|
||||||
t.notok (r16.sameYear (now), "soy not in same year as now");
|
t.notok (r16.sameYear (now), "soy not in same year as now");
|
||||||
|
|
||||||
|
Date first ("1st");
|
||||||
|
t.notok (first.sameMonth (now), "1st not in same month as now");
|
||||||
|
t.is (first.day (), 1, "1st day is 1");
|
||||||
|
|
||||||
|
Date FIRST ("1ST");
|
||||||
|
t.ok (FIRST == first, "1st == 1ST");
|
||||||
|
|
||||||
Date later ("later");
|
Date later ("later");
|
||||||
t.is (later.month (), 1, "later -> m = 1");
|
t.is (later.month (), 1, "later -> m = 1");
|
||||||
t.is (later.day (), 18, "later -> d = 18");
|
t.is (later.day (), 18, "later -> d = 18");
|
||||||
|
|||||||
Reference in New Issue
Block a user