aboutsummaryrefslogtreecommitdiffstats
path: root/t/utils.t
diff options
context:
space:
mode:
Diffstat (limited to 't/utils.t')
-rw-r--r--t/utils.t14
1 files changed, 13 insertions, 1 deletions
diff --git a/t/utils.t b/t/utils.t
index ac9eb1a4a..f989580c8 100644
--- a/t/utils.t
+++ b/t/utils.t
@@ -78,7 +78,11 @@ if ($dt->day_of_week == 7) { # Sunday
}
is Utils::prettify_dt($dt), $dt->strftime("%H:%M, %A");
-$dt = DateTime->now->subtract(days => 100);
+if ($dt->month == 1) { # January
+ $dt = DateTime->now->add(days => 30);
+} else {
+ $dt = DateTime->now->subtract(days => 30);
+}
is Utils::prettify_dt($dt), $dt->strftime("%H:%M, %A %e %B %Y");
is Utils::prettify_dt($dt, "date"), $dt->strftime("%A %e %B %Y");
is Utils::prettify_dt($dt, "zurich"), $dt->strftime("%H:%M, %e. %B %Y");
@@ -87,10 +91,18 @@ is Utils::prettify_dt($dt, 1), $dt->strftime("%H:%M, %e %b %Y");
$dt = DateTime->now->subtract(days => 400);
is Utils::prettify_dt($dt), $dt->strftime("%H:%M, %a %e %B %Y");
+is Utils::prettify_duration(12*5*7*86400+3600+60+1, 'year'), '1 year';
+is Utils::prettify_duration(25*5*7*86400+3600+60+1, 'year'), '2 years';
+is Utils::prettify_duration(5*7*86400+3600+60+1, 'month'), '1 month';
is Utils::prettify_duration(7*86400+3600+60+1, 'week'), '1 week';
is Utils::prettify_duration(86400+3600+60+1, 'day'), '1 day';
is Utils::prettify_duration(86400+3600+60+1, 'hour'), '1 day, 1 hour';
is Utils::prettify_duration(86400+3600+60+1, 'minute'), '1 day, 1 hour, 1 minute';
is Utils::prettify_duration(20, 'minute'), 'less than a minute';
+# prettify_duration should choose a $nearest sensibly if it's not given
+is Utils::prettify_duration(12*5*7*86400+3600+60+1), '1 year';
+is Utils::prettify_duration(7*86400+3600+60+1), '1 week';
+is Utils::prettify_duration(14*86400+3600+60+1), '2 weeks';
+is Utils::prettify_duration(1800), '30 minutes';
done_testing();