]> git.vpit.fr Git - perl/modules/indirect.git/commitdiff
More freshness for t/21-bad.t
authorVincent Pit <vince@profvince.com>
Wed, 15 Jul 2009 16:59:31 +0000 (18:59 +0200)
committerVincent Pit <vince@profvince.com>
Wed, 15 Jul 2009 16:59:31 +0000 (18:59 +0200)
t/21-bad.t

index 11da77d29c2fabb2f6dfa1300e1bebf8597b7de7..6852426a69e536872c7571929d4315bd3ea3736d 100644 (file)
@@ -15,7 +15,7 @@ BEGIN {
  $reports = 69;
 }
 
-use Test::More tests => 3 * (4 * $tests + $reports) + 2;
+use Test::More tests => 3 * (4 * $tests + $reports) + 4;
 
 my ($obj, $x);
 our ($y, $bloop);
@@ -116,11 +116,17 @@ SKIP:
 }
 
 eval {
- my $warn;
- local $SIG{__WARN__} = sub { $warn = join ' ', @_ };
- eval "die qq{ok\n}; no indirect 'hlagh'; \$obj = new Hlagh1;";
- is($@, "ok\n", 'no indirect "hlagh" didn\'t croak');
- like($warn, qr/^Indirect\s+call\s+of\s+method\s+"new"\s+on\s+object\s+"Hlagh1"/, 'no indirect "hlagh" enables the pragma');
+ my @warns;
+ {
+  local $SIG{__WARN__} = sub { push @warns, @_ };
+  eval "return; no indirect 'hlagh'; \$obj = new Hlagh1;";
+ }
+ is        $@,      '',  'no indirect "hlagh" didn\'t croak';
+ is        @warns,  1,   'only one warning';
+ my $warn = shift @warns;
+ like      $warn,   qr/^Indirect call of method "new" on object "Hlagh1"/,
+                         'no indirect "hlagh" enables the pragma';
+ is_deeply \@warns, [ ], 'nothing more';
 }
 
 __DATA__