setting correct return value for components
[catagits/Catalyst-Runtime.git] / t / aggregate / unit_core_container_custom_container.t
CommitLineData
ff80a710 1use strict;
2use warnings;
3use Test::More;
4
5# first, test if it loads Catalyst::Container when
6# no custom container exists
7{
8 package ContainerTestApp;
9 use Moose;
12c216c8 10 extends 'Catalyst';
ff80a710 11
12 __PACKAGE__->setup_config();
13 __PACKAGE__->setup_log();
14}
15
16my $container = ContainerTestApp->container;
17
18# 'is' instead of 'isa_ok', because I want it to be only Catalyst::Container
19# and not some subclass
a6c13ff4 20is( ref $container, 'Catalyst::IOC::Container', 'The container is Catalyst::IOC::Container, not a subclass');
ff80a710 21
22# now, check if it loads the subclass when it exists
23{
24 package CustomContainerTestApp::Container;
25 use Moose;
a6c13ff4 26 extends 'Catalyst::IOC::Container';
ff80a710 27
28 sub my_custom_method { 1 }
29}
30
31{
32 package CustomContainerTestApp;
33 use Moose;
34 BEGIN { extends 'Catalyst' };
35
36 __PACKAGE__->setup_config();
37}
38
39$container = CustomContainerTestApp->container;
40
41isa_ok($container, 'CustomContainerTestApp::Container');
a6c13ff4 42isa_ok($container, 'Catalyst::IOC::Container');
ff80a710 43can_ok($container, 'my_custom_method');
44ok( eval { $container->my_custom_method }, 'executes the method correctly');
45
46done_testing;