X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F14ora_common.t;h=f68a7e35569f053204b78eca66b5acbc8df13cce;hb=6b0e47fc86f045183810ccea343e9afcd438ee1a;hp=2cd05b5a7d98789995bccdfcb391a7a6566765d7;hpb=31a65b45d0092a32bcc45091382e9907afceb3f6;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/14ora_common.t b/t/14ora_common.t index 2cd05b5..f68a7e3 100644 --- a/t/14ora_common.t +++ b/t/14ora_common.t @@ -1,6 +1,8 @@ use strict; use lib qw(t/lib); use dbixcsl_common_tests; +use Test::More; +use Test::Exception; my $dsn = $ENV{DBICTEST_ORA_DSN} || ''; my $user = $ENV{DBICTEST_ORA_USER} || ''; @@ -30,6 +32,51 @@ my $tester = dbixcsl_common_tests->new( dsn => $dsn, user => $user, password => $password, + extra => { + create => [ + q{ + CREATE TABLE oracle_loader_test1 ( + id INTEGER PRIMARY KEY, + a_varchar VARCHAR2(100) DEFAULT 'foo', + an_int INTEGER DEFAULT 42, + a_double DOUBLE PRECISION DEFAULT 10.555, + a_date DATE DEFAULT sysdate + ) + }, + ], + drop => [ qw/ oracle_loader_test1 / ], + count => 5, + run => sub { + my ($schema, $monikers, $classes) = @_; + + my $rsrc = $schema->resultset($monikers->{oracle_loader_test1}) + ->result_source; + + is $rsrc->column_info('a_varchar')->{default_value}, + 'foo', + 'constant character default'; + + is $rsrc->column_info('an_int')->{default_value}, + 42, + 'constant integer default'; + + is $rsrc->column_info('a_double')->{default_value}, + 10.555, + 'constant numeric default'; + + my $function_default = + $rsrc->column_info('a_date')->{default_value}; + + ok ((ref $function_default eq 'SCALAR'), + 'default_value for function default is a scalar ref') + or diag "default_value is: ", $function_default + ; + + eval { is $$function_default, + 'sysdate', + 'default_value for function default is correct' }; + }, + }, ); if( !$dsn || !$user ) {