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) {
35 delete $ENV{CATALYST_HOME} if exists $ENV{CATALYST_HOME};
37 my $c = Catalyst::IOC::Container->new(name => 'TestAppSetupHome');
38 ok(my $home = $c->resolve(service => 'home', parameters => { home_flag => $home_flag }), 'home service returns ok');
39 is($home, $homes_and_roots[0][0], 'value is expected');
40 ok(my $root = $c->resolve(service => 'root_dir'), 'root service returns ok');
41 is($root, $homes_and_roots[0][1], 'value is expected');
46 $ENV{CATALYST_HOME} = $homes_and_roots[1][0];
48 my $c = Catalyst::IOC::Container->new(name => 'TestAppSetupHome');
49 ok(my $home = $c->resolve(service => 'home', parameters => { home_flag => $home_flag }), 'home service returns ok');
50 is($home, $homes_and_roots[1][0], 'value is expected');
51 ok(my $root = $c->resolve(service => 'root_dir'), 'root service returns ok');
52 is($root, $homes_and_roots[1][1], 'value is expected');
56 my $home_flag = $homes_and_roots[2][0];
57 delete $ENV{CATALYST_HOME} if exists $ENV{CATALYST_HOME};
59 my $c = Catalyst::IOC::Container->new(name => 'TestAppSetupHome');
60 ok(my $home = $c->resolve(service => 'home', parameters => { home_flag => $home_flag }), 'home service returns ok');
61 is($home, $homes_and_roots[2][0], 'value is expected');
62 ok(my $root = $c->resolve(service => 'root_dir'), 'root service returns ok');
63 is($root, $homes_and_roots[2][1], 'value is expected');
67 my $home_flag = $homes_and_roots[2][0];
68 $ENV{CATALYST_HOME} = $homes_and_roots[1][0];
70 my $c = Catalyst::IOC::Container->new(name => 'TestAppSetupHome');
71 ok(my $home = $c->resolve(service => 'home', parameters => { home_flag => $home_flag }), 'home service returns ok');
72 is($home, $homes_and_roots[1][0], 'value is expected');
73 ok(my $root = $c->resolve(service => 'root_dir'), 'root service returns ok');
74 is($root, $homes_and_roots[1][1], 'value is expected');
77 for my $home_and_root (@homes_and_roots) {
78 for (@$home_and_root) {