From 72c7afe1a13965704d4b55d66c413dca66bf0a71 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Sat, 5 Jul 2008 01:22:22 -0400 Subject: [PATCH] - Fixed relative day tests. --- src/tests/date.t.cpp | 42 +++++++++++++++++++++--------------------- src/util.cpp | 7 +++---- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/src/tests/date.t.cpp b/src/tests/date.t.cpp index 623d089b5..d6bc79e79 100644 --- a/src/tests/date.t.cpp +++ b/src/tests/date.t.cpp @@ -158,46 +158,46 @@ int main (int argc, char** argv) ok (r3.sameDay (now - 86400), "yesterday = now - 1d"); Date r4 ("sunday"); - if (now.dayOfWeek () <= 0) - ok (r4.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next sunday"); + if (now.dayOfWeek () >= 0) + ok (r4.sameDay (now + (0 - now.dayOfWeek () + 7) * 86400), "next sunday"); else - ok (r4.sameDay (now + (r4.dayOfWeek () - now.dayOfWeek ()) * 86400), "next sunday"); + ok (r4.sameDay (now + (0 - now.dayOfWeek ()) * 86400), "next sunday");; Date r5 ("monday"); - if (now.dayOfWeek () <= 1) - ok (r5.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next monday"); + if (now.dayOfWeek () >= 1) + ok (r5.sameDay (now + (1 - now.dayOfWeek () + 7) * 86400), "next monday"); else - ok (r5.sameDay (now + (r5.dayOfWeek () - now.dayOfWeek ()) * 86400), "next monday"); + ok (r5.sameDay (now + (1 - now.dayOfWeek ()) * 86400), "next monday");; Date r6 ("tuesday"); - if (now.dayOfWeek () <= 2) - ok (r6.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next tuesday"); + if (now.dayOfWeek () >= 2) + ok (r6.sameDay (now + (2 - now.dayOfWeek () + 7) * 86400), "next tuesday"); else - ok (r6.sameDay (now + (r6.dayOfWeek () - now.dayOfWeek ()) * 86400), "next tuesday"); + ok (r6.sameDay (now + (2 - now.dayOfWeek ()) * 86400), "next tuesday");; Date r7 ("wednesday"); - if (now.dayOfWeek () <= 3) - ok (r7.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next wednesday"); + if (now.dayOfWeek () >= 3) + ok (r7.sameDay (now + (3 - now.dayOfWeek () + 7) * 86400), "next wednesday"); else - ok (r7.sameDay (now + (r7.dayOfWeek () - now.dayOfWeek ()) * 86400), "next wednesday"); + ok (r7.sameDay (now + (3 - now.dayOfWeek ()) * 86400), "next wednesday");; Date r8 ("thursday"); - if (now.dayOfWeek () <= 4) - ok (r8.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next thursday"); + if (now.dayOfWeek () >= 4) + ok (r8.sameDay (now + (4 - now.dayOfWeek () + 7) * 86400), "next thursday"); else - ok (r8.sameDay (now + (r8.dayOfWeek () - now.dayOfWeek ()) * 86400), "next thursday"); + ok (r8.sameDay (now + (4 - now.dayOfWeek ()) * 86400), "next thursday");; Date r9 ("friday"); - if (now.dayOfWeek () <= 5) - ok (r9.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next friday"); + if (now.dayOfWeek () >= 5) + ok (r9.sameDay (now + (5 - now.dayOfWeek () + 7) * 86400), "next friday"); else - ok (r9.sameDay (now + (r9.dayOfWeek () - now.dayOfWeek ()) * 86400), "next friday"); + ok (r9.sameDay (now + (5 - now.dayOfWeek ()) * 86400), "next friday");; Date r10 ("saturday"); - if (now.dayOfWeek () <= 6) - ok (r10.sameDay (now + (7 - now.dayOfWeek ()) * 86499), "next saturday"); + if (now.dayOfWeek () >= 6) + ok (r10.sameDay (now + (6 - now.dayOfWeek () + 7) * 86400), "next saturday"); else - ok (r10.sameDay (now + (r10.dayOfWeek () - now.dayOfWeek ()) * 86400), "next saturday"); + ok (r10.sameDay (now + (6 - now.dayOfWeek ()) * 86400), "next saturday");; Date r11 ("eow"); ok (r11 < now + (8 * 86400), "eow < 7 days away"); diff --git a/src/util.cpp b/src/util.cpp index d8b94a894..31d153b44 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -265,15 +265,15 @@ int convertDuration (const std::string& input) { std::string found = matches[0]; - if (found == "daily" || found == "day") return 1; - else if (found == "weekly" || found == "sennight") return 7; + if (found == "daily" || found == "day") return 1; + else if (found == "weekly" || found == "sennight") return 7; else if (found == "biweekly" || found == "fortnight") return 14; else if (found == "semimonthly") return 15; else if (found == "monthly") return 30; else if (found == "bimonthly") return 61; else if (found == "quarterly") return 91; else if (found == "semiannual") return 183; - else if (found == "yearly" || found == "annual") return 365; + else if (found == "yearly" || found == "annual") return 365; else if (found == "biannual" || found == "biyearly") return 730; } @@ -289,7 +289,6 @@ int convertDuration (const std::string& input) i == length - 1) { int number = ::atoi (input.substr (0, i).c_str ()); - char ordinal = input[length - 1]; switch (input[length - 1]) {