⏱️ Whenny Zone

When are we? 2026-02-04 05:19:44 UTC

Integration test run: 2/4/2026, 5:19:44 AM

✅ All Tests Passed
75
Total Tests
75
Passed
0
Failed
100%
Pass Rate
5s
Duration

✅ i18n (10/10)

en locale exists 28ms
es locale exists 0ms
fr locale exists 0ms
de locale exists 1ms
ja locale exists 1ms
zh locale exists 0ms
retrieves English locale 1ms
retrieves Spanish locale 0ms
registers custom locale 1ms
locales object contains all built-ins 0ms

✅ compare (10/10)

smart() describes relationship 27ms
days() returns day difference 0ms
hours() returns hour difference 0ms
isBefore() returns true when earlier 0ms
isAfter() returns true when later 0ms
isSame() checks equality 0ms
isSame("day") checks same day 1ms
human() returns human-readable 0ms
exact() returns detailed breakdown 1ms
exposes component values 0ms

✅ duration (8/8)

long format 27ms
compact format 1ms
clock format 1ms
clock format without hours 0ms
human format for hours 1ms
human format for minutes 0ms
exposes component values 0ms
calculates duration between dates 2ms

✅ natural (13/13)

parses "now" 28ms
parses "today" 2ms
parses "tomorrow" 1ms
parses "yesterday" 0ms
parses "in X days" 1ms
parses "X days ago" 0ms
parses "next friday" 1ms
parses "tomorrow at 3pm" 1ms
returns null for unparseable 1ms
returns true for valid expressions 0ms
returns false for invalid expressions 1ms
natural.parse() works 1ms
natural.canParse() works 0ms

✅ mcp (9/9)

contains tool definitions 22ms
format_datewind tool exists 1ms
format_relative tool exists 0ms
compare_dates tool exists 1ms
returns array of tools 0ms
has server info 1ms
executes format_datewind 26ms
executes format_relative 1ms
executes calendar_check 0ms

✅ transfer (6/6)

creates transfer payload 37ms
includes timezone when specified 0ms
parses transfer payload 0ms
provides utility methods 1ms
transfer.create() works 0ms
transfer.from() works 0ms

✅ calendar (13/13)

isToday() returns true for today 18ms
isYesterday() works correctly 0ms
isTomorrow() works correctly 1ms
isWeekend() detects Saturday/Sunday 0ms
isWeekday() detects weekdays 1ms
isBusinessDay() uses config 0ms
isPast() detects past dates 0ms
isFuture() detects future dates 0ms
isBetween() checks range 1ms
startOf("day") returns midnight 0ms
endOf("day") returns end of day 1ms
add() adds time 0ms
daysUntil() counts days 0ms

✅ timezone (6/6)

returns a timezone string 33ms
returns UTC offset as 0 1ms
returns offset in minutes 1ms
returns start and end of day 2ms
tz.local() works 0ms
tz.offset() works 1ms