App-Env

 view release on metacpan or  search on metacpan

t/cache.t  view on Meta::CPAN

#############################################################

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' );

t/temp.t  view on Meta::CPAN


# 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 )