#!perl use Test::More tests => 9; use lib 't'; BEGIN { use_ok('App::Env') }; ############################################################# { local %ENV = %ENV; # import alias. Site1 App3 is an alias for Site1 App1 App::Env::import( 'App3' ); is( $ENV{Site1_App1}, 1, "import alias" ); } { local %ENV = %ENV; # now import it directly. have to use Force to increment # the internal counter or it'll be impossible to distinguish # between a first time import or a cache App::Env::import( 'App1', { Force => 1 } ); is( $ENV{Site1_App1}, 2, "import original" ); } { local %ENV = %ENV; # import nested alias, which also sets AppOpts App::Env::import( 'App4', { Force => 1 } ); is( $ENV{Site1_App1}, 3, "import nested alias" ); is( $ENV{Alias}, 'App4', "alias w/ AppOpts" ); } { local %ENV = %ENV; # import nested alias, which also sets AppOpts, # but override AppOpts App::Env::import( 'App4', { Force => 1, AppOpts => { Alias => 'None' } } ); is( $ENV{Site1_App1}, 4, "import nested alias" ); is( $ENV{Alias}, 'None', "alias w/ overridden AppOpts" ); } { local %ENV = %ENV; # import lowercased alias App::Env::import( 'app3', { Force => 1 } ); is( $ENV{Site1_App1}, 5, "import lower case alias" ); } { local %ENV = %ENV; # try this with Site ignored # import lowercased alias delete $ENV{APP_ENV_SITE}; App::Env::import( 'app1', { Force => 1 } ); is( $ENV{App1}, 1, "import lower case alias" ); }