diff --git a/t/32_inactive_error.t b/t/32_inactive_error.t index 311aa41..fb78b91 100644 --- a/t/32_inactive_error.t +++ b/t/32_inactive_error.t @@ -6,15 +6,26 @@ BEGIN { $^W = 1; } -use Test::More tests => 2; +use Test::More tests => 4; use t::lib::Test; my $dbh = connect_ok( PrintError => 0, RaiseError => 1 ); my $sth = $dbh->prepare('CREATE TABLE foo (f)'); - $dbh->disconnect; + +$dbh->disconnect; # attempt to execute on inactive database handle -my $ret = eval { $sth->execute; }; +my @warning = (); +SCOPE: { + local $SIG{__WARN__} = sub { push @warning, @_; return }; + my $ret = eval { $sth->execute; }; + ok ! defined $ret; +} -ok !defined $ret; +is( scalar(@warning), 1, 'Got 1 warning' ); +like( + $warning[0], + qr/attempt to execute on inactive database handle/, + 'Got the expected warning', +);