X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FDBICTest.pm;h=80069617d230eaf90ee4fad4c926a0be17aad326;hb=2ff179e22bca6e8b7c3cb131e234ce2ce8996113;hp=70501bf7a45857ea1b26fe8f6dd924bf8f780cec;hpb=46ad3c8621356f20d4dde917ba8afee09bc2fdea;p=dbsrgits%2FDBIx-Class.git diff --git a/t/lib/DBICTest.pm b/t/lib/DBICTest.pm index 70501bf..8006961 100644 --- a/t/lib/DBICTest.pm +++ b/t/lib/DBICTest.pm @@ -32,7 +32,7 @@ DBIx::Class. no_populate=>1, storage_type=>'::DBI::Replicated', storage_type_args=>{ - balancer_type=>'DBIx::Class::Storage::DBI::Replicated::Balancer::Random' + balancer_type=>'DBIx::Class::Storage::DBI::Replicated::Balancer::Random' }, ); @@ -48,7 +48,7 @@ default, unless the no_deploy or no_populate flags are set. =cut sub has_custom_dsn { - return $ENV{"DBICTEST_DSN"} ? 1:0; + return $ENV{"DBICTEST_DSN"} ? 1:0; } sub _sqlite_dbfilename { @@ -59,7 +59,7 @@ sub _sqlite_dbname { my $self = shift; my %args = @_; return $self->_sqlite_dbfilename if $args{sqlite_use_file} or $ENV{"DBICTEST_SQLITE_USE_FILE"}; - return ":memory:"; + return ":memory:"; } sub _database { @@ -85,7 +85,7 @@ sub init_schema { my %args = @_; my $schema; - + if ($args{compose_connection}) { $schema = DBICTest::Schema->compose_connection( 'DBICTest', $self->_database(%args) @@ -94,8 +94,8 @@ sub init_schema { $schema = DBICTest::Schema->compose_namespace('DBICTest'); } if( $args{storage_type}) { - $schema->storage_type($args{storage_type}); - } + $schema->storage_type($args{storage_type}); + } if ( !$args{no_connect} ) { $schema = $schema->connect($self->_database(%args)); $schema->storage->on_connect_do(['PRAGMA synchronous = OFF']) @@ -127,7 +127,7 @@ sub deploy_schema { my $args = shift || {}; if ($ENV{"DBICTEST_SQLT_DEPLOY"}) { - $schema->deploy($args); + $schema->deploy($args); } else { open IN, "t/lib/sqlite.sql"; my $sql; @@ -135,7 +135,7 @@ sub deploy_schema { close IN; for my $chunk ( split (/;\s*\n+/, $sql) ) { if ( $chunk =~ / ^ (?! --\s* ) \S /xm ) { # there is some real sql in the chunk - a non-space at the start of the string which is not a comment - $schema->storage->dbh->do($chunk) or print "Error on SQL: $chunk\n"; + $schema->storage->dbh_do(sub { $_[1]->do($chunk) }) or print "Error on SQL: $chunk\n"; } } } @@ -155,6 +155,11 @@ sub populate_schema { my $self = shift; my $schema = shift; + $schema->populate('Genre', [ + [qw/genreid name/], + [qw/1 emo /], + ]); + $schema->populate('Artist', [ [ qw/artistid name/ ], [ 1, 'Caterwauler McCrae' ], @@ -163,8 +168,8 @@ sub populate_schema { ]); $schema->populate('CD', [ - [ qw/cdid artist title year/ ], - [ 1, 1, "Spoonful of bees", 1999 ], + [ qw/cdid artist title year genreid/ ], + [ 1, 1, "Spoonful of bees", 1999, 1 ], [ 2, 1, "Forkful of bees", 2001 ], [ 3, 1, "Caterwaulin' Blues", 1997 ], [ 4, 2, "Generic Manufactured Singles", 2001 ], @@ -243,7 +248,7 @@ sub populate_schema { $schema->populate('TreeLike', [ [ qw/id parent name/ ], - [ 1, undef, 'root' ], + [ 1, undef, 'root' ], [ 2, 1, 'foo' ], [ 3, 2, 'bar' ], [ 6, 2, 'blop' ], @@ -310,7 +315,7 @@ sub populate_schema { ]); $schema->populate('Owners', [ - [ qw/ownerid name/ ], + [ qw/id name/ ], [ 1, "Newton" ], [ 2, "Waltham" ], ]);