- The duration 'm' is now interpreted as 'months', not 'minutes'.
This commit is contained in:
Paul Beckingham 2011-06-30 18:35:54 -04:00
parent 829a26d70b
commit fd484ee264
3 changed files with 11 additions and 6 deletions

View file

@ -36,6 +36,7 @@
+ The default export format is now JSON.
+ The configuration variable 'json.array' determines whether 'query' command
output is enclosed by '[...]'.
+ The duration 'm' is now interpreted as 'months', not 'minutes'.
# Tracked Features, sorted by ID.
+ Added feature #278, which provides a more consistent command line grammar.

View file

@ -56,7 +56,6 @@ static const char* durations[] =
"minutes",
"mins",
"min",
"m",
"mnths",
"monthly",
@ -65,6 +64,7 @@ static const char* durations[] =
"mos",
"mo",
"mths",
"m",
"quarterly",
"quarters",
@ -338,6 +338,7 @@ void Duration::parse (const std::string& input)
else if (match == "mos") mSecs = (int) (value * 86400 * 30);
else if (match == "mo") mSecs = (int) (value * 86400 * 30);
else if (match == "mths") mSecs = (int) (value * 86400 * 30);
else if (match == "m") mSecs = (int) (value * 86400 * 30);
else if (match == "biweekly") mSecs = (int) (value * 86400 * 14);
else if (match == "fortnight") mSecs = (int) (value * 86400 * 14);
@ -361,7 +362,6 @@ void Duration::parse (const std::string& input)
else if (match == "minutes") mSecs = (int) (value * 60);
else if (match == "mins") mSecs = (int) (value * 60);
else if (match == "min") mSecs = (int) (value * 60);
else if (match == "m") mSecs = (int) (value * 60);
else if (match == "seconds") mSecs = (int) value;
else if (match == "secs") mSecs = (int) value;

View file

@ -560,6 +560,10 @@ int main (int argc, char** argv)
t.ok (d.valid ("-1 mths"), "valid duration -1 mths");
t.ok (d.valid ("-1 mth"), "valid duration -1 mth");
t.ok (d.valid ("-1mo"), "valid duration -1mo");
t.ok (d.valid ("0m"), "valid duration 0m");
t.ok (d.valid ("1m"), "valid duration 1m");
t.ok (d.valid ("10m"), "valid duration 10m");
t.ok (d.valid ("-1m"), "valid duration -1m");
t.ok (d.valid ("0 wks"), "valid duration 0 wks");
t.ok (d.valid ("0 wk"), "valid duration 0 wk");
@ -603,16 +607,12 @@ int main (int argc, char** argv)
t.ok (d.valid ("0 mins"), "valid duration 0 mins");
t.ok (d.valid ("0 min"), "valid duration 0 min");
t.ok (d.valid ("0m"), "valid duration 0m");
t.ok (d.valid ("1 mins"), "valid duration 1 mins");
t.ok (d.valid ("1 min"), "valid duration 1 min");
t.ok (d.valid ("1m"), "valid duration 1m");
t.ok (d.valid ("10 mins"), "valid duration 10 mins");
t.ok (d.valid ("10 min"), "valid duration 10 min");
t.ok (d.valid ("10m"), "valid duration 10m");
t.ok (d.valid ("-1 mins"), "valid duration -1 mins");
t.ok (d.valid ("-1 min"), "valid duration -1 min");
t.ok (d.valid ("-1m"), "valid duration -1m");
t.ok (d.valid ("0 secs"), "valid duration 0 secs");
t.ok (d.valid ("0 sec"), "valid duration 0 sec");
@ -676,6 +676,10 @@ int main (int argc, char** argv)
t.is (convertDuration ("10 mths"), 300, "valid duration 10 mths");
t.is (convertDuration ("10 mth"), 300, "valid duration 10 mth");
t.is (convertDuration ("10mo"), 300, "valid duration 10mo");
t.is (convertDuration ("0m"), "valid duration 0m");
t.is (convertDuration ("1m"), "valid duration 1m");
t.is (convertDuration ("10m"), "valid duration 10m");
t.is (convertDuration ("-1m"), "valid duration -1m");
t.is (convertDuration ("0 wks"), 0, "valid duration 0 wks");
t.is (convertDuration ("0 wk"), 0, "valid duration 0 wk");