Reinstate PERL_MALLOC_WRAP for bcc32 on Win32
[p5sagit/p5-mst-13.2.git] / lib / autouse.t
index 0a2d680..2c52f42 100644 (file)
@@ -3,10 +3,15 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
+    require Config;
+    if (($Config::Config{'extensions'} !~ m!\bList/Util\b!) ){
+       print "1..0 # Skip -- Perl configured without List::Util module\n";
+       exit 0;
+    }
 }
 
 use Test;
-BEGIN { plan tests => 10; }
+BEGIN { plan tests => 12; }
 
 BEGIN {
     require autouse;
@@ -39,7 +44,7 @@ use autouse 'Carp' => qw(carp croak);
     local $SIG{__WARN__} = sub { push @warning, @_ };
     carp "this carp was predeclared and autoused\n";
     ok( scalar @warning, 1 );
-    ok( $warning[0], "this carp was predeclared and autoused\n" );
+    ok( $warning[0], qr/^this carp was predeclared and autoused\n/ );
 
     eval { croak "It is but a scratch!" };
     ok( $@, qr/^It is but a scratch!/);
@@ -55,3 +60,13 @@ ok( !exists $INC{$mod_file} );
 ok( soundex('Basset'), 'B230' );
 ok( exists $INC{$mod_file} );
 
+use autouse Env => "something";
+eval { something() };
+ok( $@, qr/^\Qautoused module Env has unique import() method/ );
+
+# Check that UNIVERSAL.pm doesn't interfere with modules that don't use
+# Exporter and have no import() of their own.
+require UNIVERSAL;
+autouse->import("Class::ISA" => 'self_and_super_versions');
+my %versions = self_and_super_versions("Class::ISA");
+ok( $versions{"Class::ISA"}, $Class::ISA::VERSION );