Amon2-Plugin-ShareDir
view release on metacpan or search on metacpan
t/600_plugins/020_share_dir.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
use Test::More;
use File::ShareDir;
use File::Basename qw(dirname);
our $BASE_DIR = dirname(__FILE__);
{
package MyApp;
use parent qw/Amon2/;
sub base_dir { $::BASE_DIR }
__PACKAGE__->load_plugins(
'ShareDir',
);
}
{
package MyApp::Web;
use parent -norequire, qw/MyApp/;
use parent qw/Amon2::Web/;
}
like(MyApp::Web->share_dir(), qr{^t.600_plugins.share$});
like(MyApp->share_dir(), qr{^t.600_plugins.share$});
no warnings 'redefine', 'once';
%Amon2::Plugin::ShareDir::SHARE_DIR_CACHE = ();
local *File::ShareDir::dist_dir = sub { "t/600_plugins/dist/$_[0]" };
local $BASE_DIR = '/notexistent/';
like(MyApp->share_dir(), qr!^t[/\\]600_plugins[/\\]dist[/\\]MyApp!);
done_testing;
( run in 0.917 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )