my $complist = $appclass->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) {
);
}
-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";
is($@, '', "Didn't load component twice");
is($appclass->model('TopLevel::Nested')->called,1, 'COMPONENT called once');
-ok($appclass->model('TopLevel::Generated'), 'Have generated model');
-is(ref($appclass->model('TopLevel::Generated')), 'FooBarBazQuux',
+# 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');
$appclass = "InnerComponent";