use strict;
use warnings;
+*Catalyst::Utils::ensure_class_loaded = sub { };
+
use Moose::Meta::Class;
our @complist_suffix = qw/C::Controller M::Model V::View Controller::C Model::M View::V Controller::Model::Dummy::Model Model::Dummy::Model/;
use base qw/Catalyst/;
- sub locate_components {
- return (@complist, 'MyMVCTestApp::Model::Test::Object');
- }
-
no warnings 'redefine';
+
+ local *Catalyst::IOC::Container::build_locate_components_service = sub {
+ my $self = shift;
+
+ return Bread::Board::BlockInjection->new(
+ lifecycle => 'Singleton',
+ name => 'locate_components',
+ block => sub {
+ return [@complist, 'MyMVCTestApp::Model::Test::Object'];
+
+ },
+ );
+ };
local *Catalyst::Log::warn = sub { $warnings++ };
- local *Catalyst::Utils::ensure_class_loaded = sub {
+ *Class::MOP::load_class = sub {
my $class = shift;
$loaded++
if Class::MOP::is_class_loaded($class) && $class =~ /^MyMVCTestApp/
package MyMVCTestAppDefaultView;
use base qw/Catalyst/;
+ no warnings 'redefine';
- sub locate_components {
- return @complist_default_view;
- }
+ local *Catalyst::IOC::Container::build_locate_components_service = sub {
+ my $self = shift;
- no warnings 'redefine';
+ return Bread::Board::BlockInjection->new(
+ lifecycle => 'Singleton',
+ name => 'locate_components',
+ block => sub {
+ return \@complist_default_view;
+ },
+ );
+ };
local *Catalyst::Log::warn = sub { $warnings++ };
- local *Catalyst::Utils::ensure_class_loaded = sub {
+ *Class::MOP::load_class = sub {
my $class = shift;
$loaded++
if Class::MOP::is_class_loaded($class) && $class =~ /^MyMVCTestAppDefaultView/
use base qw/Catalyst/;
- sub locate_components {
- return @complist_default_model;
- }
-
no warnings 'redefine';
+
+ local *Catalyst::IOC::Container::build_locate_components_service = sub {
+ my $self = shift;
+
+ return Bread::Board::BlockInjection->new(
+ lifecycle => 'Singleton',
+ name => 'locate_components',
+ block => sub {
+ return \@complist_default_model;
+ },
+ );
+ };
local *Catalyst::Log::warn = sub { $warnings++ };
- local *Catalyst::Utils::ensure_class_loaded = sub {
+ *Class::MOP::load_class = sub {
my $class = shift;
$loaded++
if Class::MOP::is_class_loaded($class) && $class =~ /^MyMVCTestAppDefaultModel/
use base qw/Catalyst/;
+ no warnings 'redefine';
+
+ *Class::MOP::load_class = sub {
+ $loaded++;
+ };
+
__PACKAGE__->config( { disable_component_resolution_regex_fallback => 1 } );
__PACKAGE__->components( { map { ( ref($_)||$_ , $_ ) }