|
sub yawn {
my ( $format , $expected ) = @_ ;
my %default_date = (
year => 3000,
month => 1,
day => 1,
hour => 1,
minute => 1,
second => 1,
nanosecond => 500000000,
time_zone => '+00:00'
);
%default_date = ( %default_date , %{ $data });
my $dt = DateTime::Ordinal->new( %default_date );
my $f = $dt ->strftime( $format );
$f =~ s/\x{202f}/ /;
is ( $f , $expected , "expected - $expected" );
}
yawn( '%a' , 'Wed' );
yawn( '%A' , 'Wednesday' );
yawn( '%b' , 'Jan' );
yawn( '%B' , 'January' );
yawn( '%c' , 'Jan 1, 3000, 1:01:01 AM' );
yawn( '%C' , 30);
yawn( '%C(1)' , '30th' );
yawn( '%d' , '01' );
yawn( '%D' , '01/01/00' );
yawn( '%e' , ' 1' );
yawn( '%e(o)' , '1st' );
yawn( '%F' , '3000-01-01' );
yawn( '%g' , '1' );
yawn( '%g(1)' , '1st' );
yawn( '%G' , '1' );
yawn( '%G(o)' , '1st' );
yawn( '%H' , '01' );
yawn( '%H(o)' , '1st' );
yawn( '%I' , '01' );
yawn( '%I(o)' , '1st' );
yawn( '%j' , '001' );
yawn( '%j(o)' , '1st' );
yawn( '%k' , ' 1' );
yawn( '%k(o)' , '1st' );
yawn( '%l' , ' 1' );
yawn( '%l(o)' , '1st' );
yawn( '%m' , '01' );
yawn( '%m(o)' , '1st' );
yawn( '%M' , '01' );
yawn( '%M(o)' , '1st' );
yawn( '%n' , "\n" );
yawn( '%N(10)' , "5000000000" );
yawn( '%p' , "AM" );
yawn( '%P' , "am" );
yawn( '%r' , "01:01:01 AM" );
yawn( '%R' , "01:01" );
yawn( '%s' , "32503683661" );
yawn( '%t' , "\t" );
yawn( '%T' , "01:01:01" );
yawn( '%u' , "3" );
yawn( '%U' , "00" );
yawn( '%V' , "00" );
yawn( '%w' , "3" );
yawn( '%w(o)' , "3rd" );
yawn( '%W' , "00" );
yawn( '%x' , "Jan 1, 3000" );
yawn( '%X' , "1:01:01 AM" );
yawn( '%y' , "00" );
yawn( '%y(o)' , "00th" );
yawn( '%z' , "+0000" );
yawn( '%Z' , "UTC" );
yawn( '%%' , "%" );
yawn( '%{day}(oe)' , 'st' );
done_testing();
|