mirror of
https://github.com/Perl/perl5.git
synced 2026-01-28 02:15:49 +00:00
[DELTA] Changes for 0.08 Sun Nov 27 20:44:00 GMT 2011 ================================================= * Remove trailing spaces and update Makefile.PL
49 lines
1.5 KiB
Perl
49 lines
1.5 KiB
Perl
use strict;
|
|
use less;
|
|
use Test::More 'no_plan';
|
|
|
|
my $Class = 'Module::Loaded';
|
|
my @Funcs = qw[mark_as_loaded mark_as_unloaded is_loaded];
|
|
my $Mod = 'Foo::Bar'.$$;
|
|
my $Strict = $ENV{'PERL_CORE'} ? 'less' : 'strict';
|
|
|
|
### load the thing
|
|
{ use_ok( $Class );
|
|
can_ok( $Class, @Funcs );
|
|
}
|
|
|
|
{ ok( !is_loaded($Mod), "$Mod not loaded yet" );
|
|
ok( mark_as_loaded($Mod), " $Mod now marked as loaded" );
|
|
is( is_loaded($Mod), $0, " $Mod is loaded from $0" );
|
|
|
|
my $rv = eval "require $Mod; 1";
|
|
ok( $rv, "$Mod required" );
|
|
ok( !$@, " require did not die" );
|
|
}
|
|
|
|
### unload again
|
|
{ ok( mark_as_unloaded($Mod), "$Mod now marked as unloaded" );
|
|
ok( !is_loaded($Mod), " $Mod now longer loaded" );
|
|
|
|
my $rv = eval "require $Mod; 1";
|
|
ok( !$rv, "$Mod require failed" );
|
|
ok( $@, " require died" );
|
|
like( $@, qr/locate/, " with expected error" );
|
|
}
|
|
|
|
### check for an already loaded module
|
|
{ my $where = is_loaded( $Strict );
|
|
ok( $where, "$Strict loaded" );
|
|
ok( mark_as_unloaded( $Strict ),
|
|
" $Strict unloaded" );
|
|
|
|
### redefining subs, quell warnings
|
|
{ local $SIG{__WARN__} = sub {};
|
|
my $rv = eval "require $Strict; 1";
|
|
ok( $rv, "$Strict loaded again" );
|
|
}
|
|
|
|
is( is_loaded( $Strict ), $where,
|
|
" $Strict is loaded" );
|
|
}
|