use strict;
use warnings;
use Test::More qw(no_plan);
use DateTimeX::Web;
my $dtx = DateTimeX::Web->new(
time_zone => 'UTC',
on_error => 'ignore'
);
my %args = (
year => 2000,
month => 5,
day => 6,
hour => 15,
minute => 23,
second => 44,
);
my $wwwc_date = '2000-05-06';
my $wwwc_time = '15:23:44';
my $wwwc_datetime = $wwwc_date.'T'.$wwwc_time;
{
my $dt = $dtx->from_wwwc($wwwc_datetime);
ok defined $dt;
is $dt->year => $args{year};
is $dt->month => $args{month};
is $dt->day => $args{day};
is $dt->hour => $args{hour};
is $dt->minute => $args{minute};
is $dt->second => $args{second};
is $dt->time_zone->name => 'UTC';
}
{
my $dt = $dtx->from_wwwc('2000-05-66T15:23:44');
ok !defined $dt;
}
{
my $str = $dtx->for_wwwc( %args );
like $str => qr/^$wwwc_datetime/; # ignore timezone part
}
{
my $dt = $dtx->from( %args );
is $dtx->format('wwwc')->format_date($dt) => $wwwc_date;
}
{
my $dt = $dtx->from_wwwc($wwwc_date);
ok defined $dt;
is $dt->year => $args{year};
is $dt->month => $args{month};
is $dt->day => $args{day};
}