X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F31dumper.t;h=17004a6e563b638bbe94ca49b0d84396397684fc;hb=46417fe20ac56566a81da64ce390b8e792a189ff;hp=4dd0c3eb0d4e4eefa39d403fb094e76d921e479c;hpb=ca4db6766e10b96c717fca81919e772d444af44e;p=dbsrgits%2FSQL-Translator.git diff --git a/t/31dumper.t b/t/31dumper.t index 4dd0c3e..17004a6 100644 --- a/t/31dumper.t +++ b/t/31dumper.t @@ -4,7 +4,6 @@ use strict; use File::Temp 'tempfile'; -use File::Spec; use FindBin qw/$Bin/; use IPC::Open3; use SQL::Translator; @@ -14,7 +13,7 @@ use Symbol qw(gensym); BEGIN { maybe_plan( - 5, + 5, 'DBI', 'SQL::Translator::Parser::SQLite', 'SQL::Translator::Producer::Dumper' @@ -38,26 +37,24 @@ my $t = SQL::Translator->new( ); my $output = $t->translate( $file ); - ok( $output, 'Got dumper script' ); +like( $output, qr{DBI->connect\(\s*'$dsn',\s*'$db_user',\s*'$db_pass',}, + 'Script contains correct DSN, db user and password' ); + +like( $output, qr/table_name\s*=>\s*'person',/, 'Found "person" table' ); +unlike( $output, qr/table_name\s*=>\s*'pet',/, 'Skipped "pet" table' ); + my ( $fh, $filename ) = tempfile( 'XXXXXXXX' ); print $fh $output; close $fh or die "Can't close file '$filename': $!"; -open( NULL, ">", File::Spec->devnull ); -my $pid = open3( gensym, \*NULL, \*PH, "$^X -cw $filename" ); -my $res; -while( ) { $res .= $_; } +my $out; +my $pid = open3( undef, $out, undef, $^X, '-cw', $filename ); +my $res = do { local $/; <$out> }; waitpid($pid, 0); like( $res, qr/syntax OK/, 'Generated script syntax is OK' ); -like( $output, qr{DBI->connect\(\s*'$dsn',\s*'$db_user',\s*'$db_pass',}, - 'Script contains correct DSN, db user and password' ); - -like( $output, qr/table_name\s*=>\s*'person',/, 'Found "person" table' ); -unlike( $output, qr/table_name\s*=>\s*'pet',/, 'Skipped "pet" table' ); - unlink $filename;