X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fmethod-installer-redefine.t;fp=t%2Fmethod-installer-redefine.t;h=fe8279356af929b1f7e295f691c26b8b894fd9a5;hb=4d09d73b6db006a1bc3f7f333e0877bc86d9ea74;hp=742728fc2a89a4de51888640b3481f52b3959bd0;hpb=722e4573a4ebaafd89e66cabe69d621dce4a433f;p=p5sagit%2FDevel-Declare.git diff --git a/t/method-installer-redefine.t b/t/method-installer-redefine.t index 742728f..fe82793 100644 --- a/t/method-installer-redefine.t +++ b/t/method-installer-redefine.t @@ -1,7 +1,6 @@ use strict; use warnings; -use Test::More tests => 4; -use Test::Warn; +use Test::More tests => 5; use Devel::Declare::MethodInstaller::Simple; BEGIN { @@ -25,18 +24,20 @@ method foo { $_[0]->method } -use Test::Warn; - ok(main->can('foo'), 'foo() installed at runtime'); -warnings_like { - method foo { - $_[0]->method; - } -} qr/redefined/; - -warnings_are { - method_quiet foo { - $_[0]->method; - } -} [], 'no warnings'; +my @warnings; +$SIG{__WARN__} = sub { push @warnings, $_[0] }; + +@warnings = (); +method foo { +$_[0]->method; +} +is scalar(@warnings), 1; +like $warnings[0], qr/redefined/; + +@warnings = (); +method_quiet foo { +$_[0]->method; +} +is_deeply \@warnings, [];