DateTime-Format-Flexible
view release on metacpan or search on metacpan
t/ddmmyyyy.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 4;
use DateTime::Format::Flexible;
foreach my $line ( <DATA> )
{
chomp $line;
my ( $given , $wanted ) = split m{\s+=>\s+}mx , $line;
compare( $given , $wanted );
}
sub compare
{
my ( $given , $wanted ) = @_;
my $dt = DateTime::Format::Flexible->parse_datetime(
$given ,
european => 1 ,
);
t/lib/helper.pm view on Meta::CPAN
if ( ref( $_[0] ) eq 'ARRAY' )
{
$opts = shift @_;
}
foreach ( @_ )
{
my ( $line ) = $_ =~ m{([^\n]+)};
next if not $line;
next if $line =~ m{\A\#}mx; # skip comments
next if $line =~ m{\A\z}mx; # skip blank lines
my ( $given , $wanted , $tz ) = split m{\s+=>\s+}mx , $line;
compare( $given , $wanted , $tz, $opts );
}
}
sub run_tests_time_parse_date
{
my $opts = [];
if ( ref( $_[0] ) eq 'ARRAY' )
{
$opts = shift @_;
'2011-04-26 00:00:00 (registry time)' ,
strip => '(registry time)' ,
)};
like( $@ , qr{strip requires a regular expression} , 'correct error thrown on bad strip parameter' );
}
foreach my $line ( <DATA> )
{
chomp $line;
my ( $given , $wanted ) = split m{\s+=>\s+}mx , $line;
compare( $given , $wanted );
}
sub compare
{
my ( $given , $wanted ) = @_;
my $dt = $base->parse_datetime( $given , strip => qr{\(registry time\)\z} );
is( $dt->datetime , $wanted , "$given => $wanted" );
}
t/timezones.t view on Meta::CPAN
if( exists $tz_map->{$tz} )
{
$wanted_tz = $tz_map->{$tz};
}
is( $dt->time_zone->name , $wanted_tz , "$tz timezone set correctly ($dt $tz)" );
}
foreach my $line ( @DATA )
{
chomp $line;
my ( $given , $wanted , $tz ) = split m{\s+=>\s+}mx , $line;
compare( $given , $wanted , $tz );
}
sub compare
{
my ( $given , $wanted , $tz ) = @_;
my $dt = DateTime::Format::Flexible->parse_datetime( $given , strip => qr{\.\z} );
is( $dt->datetime , $wanted , "$given => $wanted" );
is( $dt->time_zone->name , $tz , "$tz timezone set correctly" );
}
strip => qr{\.\z} ,
tz_map => { EDT => 'America/New_York' } ,
);
is( $dt->datetime , '2009-06-25T00:00:00' , 'EDT. timezone parsed/stripped' );
is( $dt->time_zone->name , 'America/New_York' , 'EDT. timezone set correctly' );
}
foreach my $line ( <DATA> )
{
chomp $line;
my ( $given , $wanted , $tz ) = split m{\s+=>\s+}mx , $line;
compare( $given , $wanted , $tz );
}
sub compare
{
my ( $given , $wanted , $tz ) = @_;
my $dt = DateTime::Format::Flexible->parse_datetime(
$given ,
strip => [qr{\.\z},qr{\(JST\)}] ,
tz_map => { EDT => 'America/New_York' }
( run in 1.701 second using v1.01-cache-2.11-cpan-71847e10f99 )