App-Env
view release on metacpan or search on metacpan
#############################################################
subtest 'CacheID' => sub {
reset_env;
is( App::Env->new( 'App1' )->env->{Site1_App1}, 1, 'import App1, id => default' );
is( App::Env->new( 'App1', { CacheID => 'foo' } )->env->{Site1_App1},
2, 'import App1, id => "foo"' );
# verify that the old one is still cached.
is( App::Env->new( 'App1' )->env->{Site1_App1}, 1, 're-import App1, id => default' );
# and now try for foo again
is( App::Env->new( 'App1', { CacheID => 'foo' } )->env->{Site1_App1},
2, 're-import App1, id => "foo"' );
# merge. should pull in fresh App1
{
my $env = App::Env->new( 'App1', 'App2' );
is( $env->{Site1_App1}, 3, 'merge App1 & App2, id => default; check App1' );
# and brand it
$app1->setenv( 'AppEnvTestID' => $$ );
{
# now clone a temp of it
my $app2 = App::Env->new( 'App1', { Temp => 1 } );
ok( defined $app2, 'temp clone' );
is( $app2->env( 'AppEnvTestID' ), $$, 'verify parent' );
# and brand it
$app2->setenv( 'AppEnvTestID' => -$$ );
is( $app2->env( 'AppEnvTestID' ), -$$, 'verify clone' );
is( $app1->env( 'AppEnvTestID' ), $$, 'verify untouched parent' );
# make sure it hasn't been cached
ok( !defined App::Env::retrieve( $app2->cacheid ), 'uncached clone' );
}
# check Temp options
{
# ensure that SysFatal isn't set
is( $app1->_opt->{SysFatal}, 0, 'parent SysFatal' );
( run in 0.565 second using v1.01-cache-2.11-cpan-73692580452 )