]> git.vpit.fr Git - perl/modules/indirect.git/blobdiff - t/21-bad.t
Fix t/80-regressions.t failing on Win32
[perl/modules/indirect.git] / t / 21-bad.t
index 9f8f3ff0de6a5da8c40f90b81dbde18e7c6dcbdf..11da77d29c2fabb2f6dfa1300e1bebf8597b7de7 100644 (file)
@@ -11,8 +11,8 @@ use warnings;
 
 my ($tests, $reports);
 BEGIN {
- $tests   = 52;
- $reports = 53;
+ $tests   = 61;
+ $reports = 69;
 }
 
 use Test::More tests => 3 * (4 * $tests + $reports) + 2;
@@ -27,10 +27,11 @@ sub expect {
 
  map {
   my ($meth, $obj, $file, $line) = @$_;
-  $_    = quotemeta      for $meth, $obj;
+  $meth = quotemeta $meth;
+  $obj  = ($obj =~ /^\s*\{/) ? "a block" : "object \"\Q$obj\E\"";
   $file = '\(eval \d+\)' unless defined $file;
   $line = '\d+'          unless defined $line;
-  qr/^Indirect call of method "$meth" on object "$obj" at $file line $line/
+  qr/^Indirect call of method "$meth" on $obj at $file line $line/
  } eval $expected;
 }
 
@@ -41,7 +42,7 @@ sub try {
 
  @warns = ();
  {
-  local $SIG{__WARN__} = sub { push @warns, join(' ', @_) };
+  local $SIG{__WARN__} = sub { push @warns, @_ };
   eval $code;
  }
 }
@@ -128,6 +129,10 @@ $obj = new Hlagh;
 ----
 [ 'new', 'Hlagh' ]
 ####
+$obj = new Hlagh if 0;
+----
+[ 'new', 'Hlagh' ]
+####
 $obj = new Hlagh();
 ----
 [ 'new', 'Hlagh' ]
@@ -354,3 +359,40 @@ new Hlagh (meh $x)
 Hlagh->new(meh $x)
 ----
 [ 'meh', '$x' ]
+####
+meh { };
+----
+[ 'meh', '{' ]
+####
+meh {
+ 1;
+};
+----
+[ 'meh', '{' ]
+####
+meh {
+ 1;
+ 1;
+};
+----
+[ 'meh', '{' ]
+####
+meh { new Hlagh; 1; };
+----
+[ 'new', 'Hlagh' ], [ 'meh', '{' ]
+####
+meh { feh $x; 1; };
+----
+[ 'feh', '$x' ], [ 'meh', '{' ]
+####
+meh { feh $x; use indirect; new Hlagh; 1; };
+----
+[ 'feh', '$x' ], [ 'meh', '{' ]
+####
+meh { feh $y; 1; };
+----
+[ 'feh', '$y' ], [ 'meh', '{' ]
+####
+meh { feh $x; 1; } new Hlagh, feh $y;
+----
+[ 'feh', '$x' ], [ 'new', 'Hlagh' ], [ 'feh', '$y' ], [ 'meh', '{' ]