X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Funit_core_component_loading.t;h=2b3e205b273a715ad8b950cd763759c8b8fdd953;hb=89b6b254a923f245093d323d9f526b891c8c866f;hp=2c53144f94dbf44d2a2a7440fbfa8c44689bc943;hpb=78330ec0dbdd06abaa4f77ffb6205b26e57468f8;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/unit_core_component_loading.t b/t/aggregate/unit_core_component_loading.t index 2c53144..2b3e205 100644 --- a/t/aggregate/unit_core_component_loading.t +++ b/t/aggregate/unit_core_component_loading.t @@ -1,8 +1,8 @@ -# 2 initial tests, and 6 per component in the loop below +# 3 initial tests, and 6 per component in the loop below # (do not forget to update the number of components in test 3 as well) # 5 extra tests for the loading options # One test for components in inner packages -use Test::More tests => 2 + 6 * 24 + 8 + 1; +use Test::More tests => 3 + 6 * 24 + 9 + 1; use strict; use warnings; @@ -94,6 +94,11 @@ my $shut_up_deprecated_warnings = q{ eval "package $appclass; use Catalyst; $shut_up_deprecated_warnings __PACKAGE__->setup"; +is_deeply( + [ sort $appclass->locate_components ], + [ map { $appclass . '::' . $_->{prefix} . '::' . $_->{name} } @components ], 'locate_components finds the components correctly' +); + can_ok( $appclass, 'components'); my $complist = $appclass->components; @@ -163,6 +168,24 @@ __PACKAGE__->config->{ setup_components } = { __PACKAGE__->setup; ); +{ + my $config = { + search_extra => [ '::Extra' ], + except => [ "${appclass}::Controller::Foo" ] + }; + my @components_located = $appclass->locate_components($config); + my @components_expected; + for (@components) { + my $name = $appclass . '::' . $_->{prefix} . '::' . $_->{name}; + push @components_expected, $name if $name ne "${appclass}::Controller::Foo"; + } + is_deeply( + [ sort @components_located ], + [ sort @components_expected ], + 'locate_components finds the components correctly' + ); +} + can_ok( $appclass, 'components'); $complist = $appclass->components;