1 contributor
use Test::More;
use strict;
use warnings;
BEGIN {
eval { require Time::Piece; 1 }
or plan skip_all => 'Time::Piece required';
plan 'no_plan';
use_ok('DBIx::Custom');
}
# Function for test name
my $test;
sub test {
$test = shift;
}
# Varialbe for tests
my $format;
my $data;
my $timepiece;
my $dbi;
use DBIx::Custom::MySQL;
test 'SQL99 format';
$dbi = DBIx::Custom::MySQL->new;
$data = '2009-01-02 03:04:05';
$format = $dbi->formats->{'SQL99_datetime'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%F'), '2009-01-02', "$test : datetime date");
is($timepiece->strftime('%T'), '03:04:05', "$test : datetime time");
$data = '2009-01-02';
$format = $dbi->formats->{'SQL99_date'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%F'), '2009-01-02', "$test : date");
$data = '03:04:05';
$format = $dbi->formats->{'SQL99_time'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%T'), '03:04:05', "$test : time");
test 'ISO-8601 format';
$data = '2009-01-02T03:04:05';
$format = $dbi->formats->{'ISO-8601_datetime'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%F'), '2009-01-02', "$test : datetime date");
is($timepiece->strftime('%T'), '03:04:05', "$test : datetime time");
$data = '2009-01-02';
$format = $dbi->formats->{'ISO-8601_date'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%F'), '2009-01-02', "$test : date");
$data = '03:04:05';
$format = $dbi->formats->{'ISO-8601_time'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%T'), '03:04:05', "$test : time");
test 'default format';
$data = '2009-01-02 03:04:05';
$format = $dbi->formats->{'datetime'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%F'), '2009-01-02', "$test : datetime date");
is($timepiece->strftime('%T'), '03:04:05', "$test : datetime time");
$data = '2009-01-02';
$format = $dbi->formats->{'date'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%F'), '2009-01-02', "$test : date");
$data = '03:04:05';
$format = $dbi->formats->{'time'};
$timepiece = Time::Piece->strptime($data, $format);
is($timepiece->strftime('%T'), '03:04:05', "$test : time");