]> git.vpit.fr Git - perl/modules/indirect.git/blobdiff - t/10-good.t
Test 'package A; sub foo; foo A->new' that gets deparsed as 'A->foo->new'
[perl/modules/indirect.git] / t / 10-good.t
index b88d721779fd773545a194f9451235b45b573cf2..0132f45ec4ac6ea96569815a5c843706ac071c22 100644 (file)
@@ -1,9 +1,15 @@
 #!perl -T
 
+package Dongs;
+
+sub new;
+
+package main;
+
 use strict;
 use warnings;
 
-use Test::More tests => 36 * 2;
+use Test::More tests => 36 * 4;
 
 my ($obj, $pkg, $cb, $x);
 sub meh;
@@ -12,18 +18,28 @@ sub meh;
  local $/ = "####\n";
  while (<DATA>) {
   chomp;
+  local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) };
   {
    use indirect;
-   local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) };
    eval "die qq{ok\\n}; $_";
   }
-  is($@, "ok\n", $_);
+  is($@, "ok\n", "use indirect: $_");
   {
    no indirect;
-   local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) };
    eval "die qq{ok\n}; $_";
   }
-  is($@, "ok\n", $_);
+  is($@, "ok\n", "no indirect: $_");
+  s/Hlagh/Dongs/g;
+  {
+   use indirect;
+   eval "die qq{ok\\n}; $_";
+  }
+  is($@, "ok\n", "use indirect, defined: $_");
+  {
+   no indirect;
+   eval "die qq{ok\\n}; $_";
+  }
+  is($@, "ok\n", "no indirect, defined: $_");
  }
 }