X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Funit_core_component_loading.t;h=7415a254148240ab8858357ce2d25971638e9c2f;hb=gsoc_breadboard;hp=ba62ff638173bc5022b7b009e9a755924986f9d7;hpb=5bf77bbd542bd2360bbca66708ca36750d0ca9db;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/unit_core_component_loading.t b/t/aggregate/unit_core_component_loading.t index ba62ff6..7415a25 100644 --- a/t/aggregate/unit_core_component_loading.t +++ b/t/aggregate/unit_core_component_loading.t @@ -100,9 +100,7 @@ can_ok( $appclass, 'components'); my $complist = $appclass->components; -# FIXME should the app class really be included in ->components? -# the +1 below is for the app class itself -is(scalar keys %$complist, 24+1, "Correct number of components loaded"); +is(scalar keys %$complist, 24, "Correct number of components loaded"); foreach (keys %$complist) { @@ -155,45 +153,49 @@ foreach my $component (@components) { ); } -eval qq( -package $appclass; -use Catalyst; -$shut_up_deprecated_warnings -__PACKAGE__->config->{ setup_components } = { - search_extra => [ '::Extra' ], - except => [ "${appclass}::Controller::Foo" ] -}; -__PACKAGE__->setup; -); - -{ - my $config = { +SKIP: { + # FIXME - any backcompat planned? + skip "search_extra has been removed", 5; + eval qq( + package $appclass; + use Catalyst; + $shut_up_deprecated_warnings + __PACKAGE__->config->{ setup_components } = { 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' + __PACKAGE__->setup; ); -} -can_ok( $appclass, 'components'); + { + 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' + ); + } -$complist = $appclass->components; + can_ok( $appclass, 'components'); -is(scalar keys %$complist, 24+1, "Correct number of components loaded"); + $complist = $appclass->components; -ok( !exists $complist->{ "${appclass}::Controller::Foo" }, 'Controller::Foo was skipped' ); -ok( exists $complist->{ "${appclass}::Extra::Foo" }, 'Extra::Foo was loaded' ); + is(scalar keys %$complist, 24+1, "Correct number of components loaded"); -rmtree($libdir); + ok( !exists $complist->{ "${appclass}::Controller::Foo" }, 'Controller::Foo was skipped' ); + ok( exists $complist->{ "${appclass}::Extra::Foo" }, 'Extra::Foo was loaded' ); + + rmtree($libdir); +} $appclass = "ComponentOnce"; @@ -236,6 +238,11 @@ eval "package $appclass; use Catalyst; __PACKAGE__->setup"; is($@, '', "Didn't load component twice"); is($appclass->model('TopLevel::Nested')->called,1, 'COMPONENT called once'); +# FIXME we need a much better way of components being able to generate +# sub-components of themselves (e.g. bring back expand_component_modules?) +# as otherwise we _have_ to construct / call the COMPONENT method +# explicitly to get all the sub-components built for Devel::InnerPackage +# to find them. See FIXME in Catalyst::IOC::Container ok($appclass->model('TopLevel::GENERATED'), 'Have generated model'); is(ref($appclass->model('TopLevel::GENERATED')), 'FooBarBazQuux', 'ACCEPT_CONTEXT in generated inner package fired as expected');