X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F93nobindvars.t;h=a2e0cba2010ac91f7971c037594c86ca238aba98;hb=68de943862f06cabd397d2e74d12cd9cdc999779;hp=f90cf7d0d1d6fe9d19d89f2af6bd24c600b609f8;hpb=3ff5b74063e6bb299d8a7443df0e864254ea44b9;p=dbsrgits%2FDBIx-Class.git diff --git a/t/93nobindvars.t b/t/93nobindvars.t index f90cf7d..a2e0cba 100644 --- a/t/93nobindvars.t +++ b/t/93nobindvars.t @@ -1,9 +1,5 @@ use strict; -use warnings; - -# Copied from 71mysql.t, manually using NoBindVars. This is to give that code -# wider testing, since virtually nobody who regularly runs the test suite -# is using DBD::Sybase+FreeTDS+MSSQL -- blblack +use warnings; use Test::More; use lib qw(t/lib); @@ -17,17 +13,19 @@ my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MYSQL_${_}" } qw/DSN USER PASS/}; plan skip_all => 'Set $ENV{DBICTEST_MYSQL_DSN}, _USER and _PASS to run this test' unless ($dsn && $user); -plan tests => 4; - { # Fake storage driver for mysql + no bind variables package DBIx::Class::Storage::DBI::MySQLNoBindVars; + use Class::C3; use base qw/ - DBIx::Class::Storage::DBI::mysql DBIx::Class::Storage::DBI::NoBindVars + DBIx::Class::Storage::DBI::mysql /; $INC{'DBIx/Class/Storage/DBI/MySQLNoBindVars.pm'} = 1; } +# XXX Class::C3 doesn't like some of the Storage stuff happening late... +Class::C3::reinitialize(); + my $schema = DBICTest::Schema->clone; $schema->storage_type('::DBI::MySQLNoBindVars'); $schema->connection($dsn, $user, $pass); @@ -36,7 +34,7 @@ my $dbh = $schema->storage->dbh; $dbh->do("DROP TABLE IF EXISTS artist;"); -$dbh->do("CREATE TABLE artist (artistid INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), charfield CHAR(10));"); +$dbh->do("CREATE TABLE artist (artistid INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), rank INTEGER NOT NULL DEFAULT '13', charfield CHAR(10));"); $schema->class('Artist')->load_components('PK::Auto'); @@ -53,7 +51,7 @@ my $it = $schema->resultset('Artist')->search( {}, offset => 2, order_by => 'artistid' } ); -is( $it->count, 3, "LIMIT count ok" ); +is( $it->count, 3, "LIMIT count ok" ); # ask for 3 rows out of 7 artists is( $it->next->name, "Artist 2", "iterator->next ok" ); $it->next; $it->next; @@ -61,5 +59,8 @@ is( $it->next, undef, "next past end of resultset ok" ); # clean up our mess END { - $dbh->do("DROP TABLE artist"); + my $dbh = eval { $schema->storage->_dbh }; + $dbh->do("DROP TABLE artist") if $dbh; } + +done_testing;