X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F93nobindvars.t;h=e6ee0eb2674ee796b967591abfc3554dd3b3565c;hb=c9304c0522f5cc186066acd3fba3437f3734f33c;hp=f90cf7d0d1d6fe9d19d89f2af6bd24c600b609f8;hpb=3ff5b74063e6bb299d8a7443df0e864254ea44b9;p=dbsrgits%2FDBIx-Class.git diff --git a/t/93nobindvars.t b/t/93nobindvars.t index f90cf7d..e6ee0eb 100644 --- a/t/93nobindvars.t +++ b/t/93nobindvars.t @@ -21,13 +21,17 @@ 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 +40,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 +57,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 +65,6 @@ 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; }