5 use Catalyst::IOC::Container;
11 my $lib = "$Bin/../lib";
12 my @homes_and_roots = (
14 "$lib/TestAppSetupHome",
15 "$lib/TestAppSetupHome/root",
18 "$lib/TestAppSetupHomeENV",
19 "$lib/TestAppSetupHomeENV/root",
22 "$lib/TestAppSetupHomeFLAG",
23 "$lib/TestAppSetupHomeFLAG/root",
27 for my $home_and_root (@homes_and_roots) {
28 for (@$home_and_root) {
40 my ($set_flag, $set_env, $expected_result) = @_;
43 delete $ENV{CATALYST_HOME} if exists $ENV{CATALYST_HOME};
46 @home_flag = ("-Home=$homes_and_roots[2][0]");
49 $ENV{CATALYST_HOME} = $homes_and_roots[1][0];
52 my $c = Catalyst::IOC::Container->new(name => 'TestAppSetupHome', flags => \@home_flag);
53 ok(my $home = $c->resolve(service => 'home'), 'home service returns ok');
54 is($home, $homes_and_roots[$expected_result][0], 'home value is expected');
55 ok(my $root = $c->resolve(service => 'root_dir'), 'root_dir service returns ok');
56 is($root, $homes_and_roots[$expected_result][1], 'root value is expected');
59 for my $home_and_root (@homes_and_roots) {
60 for (@$home_and_root) {