#!perl use Test::More tests=>17; use DateTime; use DateTime::Format::GeekTime; { my $dt=DateTime->new(year=>2010,month=>3,day=>8, hour=>17,minute=>56,second=>23, time_zone=>'Europe/Rome', ); is(DateTime::Format::GeekTime->format_datetime($dt), "0xB4B1 on day 0x042 \x{b4b1}"); } { my $dt=DateTime::Format::GeekTime->parse_datetime("0xB4B1 0x0042 \x{b4b0}"); is($dt->month,3); is($dt->day,8); is($dt->hour,16); is($dt->minute,56); is($dt->second,23); is($dt->time_zone->name,'UTC'); my $other=DateTime::Format::GeekTime->parse_datetime("0xB4B1 0x0042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("0xB4B1 on day 0x0042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("B4B1 0042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("B4B10042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("b4b10042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("0xB4B1 0x042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("B4B1 042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("B4B1042"); cmp_ok($dt,'==',$other); $other=DateTime::Format::GeekTime->parse_datetime("b4b1042"); cmp_ok($dt,'==',$other); } { # bad codepoint my $dt=DateTime::Format::GeekTime->parse_datetime('0xdc01 0x000'); is(DateTime::Format::GeekTime->format_datetime($dt), '0xDC01 on day 0x000'); }