use strict; use warnings; use DBIx::Handler; use Test::More; use Test::Requires 'DBD::SQLite'; subtest 'on_(disconnect|connect)_do' => sub { my $handler = DBIx::Handler->new('dbi:SQLite:','','', undef, +{ on_connect_do => sub { my $dbh = shift; isa_ok $dbh, 'DBI::db'}, on_disconnect_do => sub { my $dbh = shift; isa_ok $dbh, 'DBI::db'}, }); isa_ok $handler, 'DBIx::Handler'; isa_ok $handler->dbh, 'DBI::db'; $handler->disconnect; }; subtest 'on_connect_do' => sub { my $handler = DBIx::Handler->new('dbi:SQLite:','','', undef, +{ on_connect_do => sub { my $dbh = shift; isa_ok $dbh, 'DBI::db'}, }); isa_ok $handler, 'DBIx::Handler'; isa_ok $handler->dbh, 'DBI::db'; $handler->disconnect; }; subtest 'on_disconnect_do' => sub { my $handler = DBIx::Handler->new('dbi:SQLite:','','', undef, +{ on_disconnect_do => sub { my $dbh = shift; isa_ok $dbh, 'DBI::db'}, }); isa_ok $handler, 'DBIx::Handler'; isa_ok $handler->dbh, 'DBI::db'; $handler->disconnect; }; done_testing;