]> git.vpit.fr Git - perl/modules/subs-auto.git/blobdiff - t/11-pkg.t
Fix default package
[perl/modules/subs-auto.git] / t / 11-pkg.t
index bd4ebb3504a069a73664e22e82e99557dcd24063..4999377352ced5327bacb0548b11e5bebb599dfe 100644 (file)
 use strict;
 use warnings;
 
-use Test::More tests => 12;
+use Test::More tests => 16;
 
 our $foo;
 
 {
- use subs::auto in => 'subs::auto::Test::Pkg';
-
- eval { subs::auto::Test::Pkg::foo 5 };
is($@, '', 'compiled to subs::auto::Test::Pkg::foo(5)');
is($foo, 10, 'subs::auto::Test::Pkg::foo was really called');
-
- {
-  use subs::auto;
+ eval q{
+  use subs::auto in => 'subs::auto::Test::Pkg';
+  subs::auto::Test::Pkg::foo 1
};
my $err = $@;
+ is($err, '', 'compiled to subs::auto::Test::Pkg::foo(1)');
+ is($foo, 3,  'subs::auto::Test::Pkg::foo was really called');
+}
 
-  eval { foo 3 };
-  is($@, '', 'compiled to foo(3)');
-  is($foo, 3, 'main::foo was really called');
+{
+ eval q{
+  use subs::auto in => 'subs::auto::Test::Pkg';
+  {
+   use subs::auto;
+   foo 2
+  }
+ };
+ my $err = $@;
+ no warnings 'uninitialized';
+ is($err, '', 'compiled to foo(2)');
+ is($foo, 4,  'main::foo was really called');
+}
 
+{
+ eval q{
+  use subs::auto in => 'subs::auto::Test::Pkg';
   {
-   package subs::auto::Test::Pkg;
+   use subs::auto;
+   subs::auto::Test::Pkg::foo 3;
+  }
+ };
+ my $err = $@;
+ no warnings 'uninitialized';
+ is($err, '', 'compiled to subs::auto::Test::Pkg::foo(3)');
+ is($foo, 9,  'subs::auto::Test::Pkg::foo was really called');
+}
 
-   eval { foo 7 };
-   Test::More::is($@, '', 'compiled to foo(7)');
-   Test::More::is($foo, 14, 'subs::auto::Test::Pkg::foo was really called');
+{
+ eval q{
+  use subs::auto in => 'subs::auto::Test::Pkg';
+  {
+   use subs::auto;
+   {
+    package subs::auto::Test::Pkg;
+    foo 4
+   }
+  }
+ };
+ my $err = $@;
+ no warnings 'uninitialized';
+ Test::More::is($err, '', 'compiled to foo(4)');
+ Test::More::is($foo, 12, 'subs::auto::Test::Pkg::foo was really called');
+}
 
-   eval { main::foo 9 };
-   Test::More::is($@, '', 'compiled to main::foo(9)');
-   Test::More::is($foo, 9, 'main::foo was really called');
+{
+ eval q{
+  use subs::auto in => 'subs::auto::Test::Pkg';
+  {
+   use subs::auto;
+   {
+    package subs::auto::Test::Pkg;
+    main::foo 5
+   }
   }
- }
+ };
+ my $err = $@;
+ no warnings 'uninitialized';
+ Test::More::is($err, '', 'compiled to main::foo(5)');
+ Test::More::is($foo, 10, 'main::foo was really called');
 }
 
 {
use subs::auto in => '::';
package subs::auto::Test::Pkg;
 
- eval { foo 11 };
- is($@, '', 'compiled to foo(11)');
- is($foo, 11, 'main::foo was really called');
+ eval q{
+  use subs::auto;
+  foo 6
+ };
+ my $err = $@;
+ no warnings 'uninitialized';
+ Test::More::is($err, '', 'compiled to foo(6)');
+ Test::More::is($foo, 18, 'subs::auto::Test::Pkg::foo was really called');
 }
 
 {
- package subs::auto::Test;
-
- use subs::auto in => '::Pkg';
+ eval q{
+  use subs::auto in => '::';
+  foo 7
+ };
+ my $err = $@;
+ no warnings 'uninitialized';
+ is($err, '', 'compiled to foo(7)');
+ is($foo, 14, 'main::foo was really called');
+}
 
- {
 package subs::auto::Test::Pkg;
+{
package subs::auto::Test;
 
-  eval { foo 13 };
-  Test::More::is($@, '', 'compiled to foo(13)');
-  Test::More::is($foo, 26, 'subs::auto::Test::Pkg::foo was really called');
- }
+ eval q{
+  use subs::auto in => '::Pkg';
+  {
+   package subs::auto::Test::Pkg;
+   foo 8;
+  }
+ };
+ my $err = $@;
+ no warnings 'uninitialized';
+ Test::More::is($err, '', 'compiled to foo(8)');
+ Test::More::is($foo, 24, 'subs::auto::Test::Pkg::foo was really called');
 }
 
 sub foo {
- $main::foo = $_[0];
+ $main::foo = 2 * $_[0];
 }
 
 sub subs::auto::Test::Pkg::foo {
- $main::foo = 2 * $_[0];
+ $main::foo = 3 * $_[0];
 }