X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Funit_core_mvc.t;h=280a7b9f6f9746a24ab1472d572f582af344587c;hb=48e17d2615b1371d75d96a52a8ec17dca83ae007;hp=407f1bd386ab26a2685f85feb86457cd2396526d;hpb=ccc6273edf531df29b87e5ab86c6d1a156e55acd;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/unit_core_mvc.t b/t/aggregate/unit_core_mvc.t index 407f1bd..280a7b9 100644 --- a/t/aggregate/unit_core_mvc.t +++ b/t/aggregate/unit_core_mvc.t @@ -2,6 +2,11 @@ use Test::More; use strict; use warnings; +{ + no warnings 'redefine'; + *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/; @@ -15,7 +20,6 @@ foreach my $comp (@complist) { ); } our $warnings = 0; -our $loaded = 0; Moose::Meta::Class->create('Some::Test::Object'); @@ -29,23 +33,27 @@ Moose::Meta::Class->create( use base qw/Catalyst/; - sub locate_components { - return (@complist, 'MyMVCTestApp::Model::Test::Object'); - } - no warnings 'redefine'; - local *Catalyst::Log::warn = sub { $warnings++ }; - local *Catalyst::Utils::ensure_class_loaded = sub { - my $class = shift; - $loaded++ - if Class::MOP::is_class_loaded($class) && $class =~ /^MyMVCTestApp/ + + 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++ }; __PACKAGE__->setup; } ok( $warnings, 'Issues deprecated warnings' ); -is( $loaded, scalar @complist + 1, 'Loaded all components' ); +is( @{[ MyMVCTestApp->component_list ]}, scalar @complist + 1, 'Loaded all components' ); is( MyMVCTestApp->view('View'), 'MyMVCTestApp::V::View', 'V::View ok' ); @@ -133,18 +141,20 @@ our @complist_default_view = 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'; - local *Catalyst::Log::warn = sub { $warnings++ }; - local *Catalyst::Utils::ensure_class_loaded = sub { - my $class = shift; - $loaded++ - if Class::MOP::is_class_loaded($class) && $class =~ /^MyMVCTestAppDefaultView/ + return Bread::Board::BlockInjection->new( + lifecycle => 'Singleton', + name => 'locate_components', + block => sub { + return \@complist_default_view; + }, + ); }; + local *Catalyst::Log::warn = sub { $warnings++ }; __PACKAGE__->config( default_view => 'V' ); @@ -162,17 +172,20 @@ our @complist_default_model = use base qw/Catalyst/; - sub locate_components { - return @complist_default_model; - } - no warnings 'redefine'; - local *Catalyst::Log::warn = sub { $warnings++ }; - local *Catalyst::Utils::ensure_class_loaded = sub { - my $class = shift; - $loaded++ - if Class::MOP::is_class_loaded($class) && $class =~ /^MyMVCTestAppDefaultModel/ + + 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++ }; __PACKAGE__->config( default_model => 'M' ); @@ -259,6 +272,8 @@ is( MyMVCTestAppDefaultModel->model , 'MyMVCTestAppDefaultModel::Model::M', 'def use base qw/Catalyst/; + no warnings 'redefine'; + __PACKAGE__->config( { disable_component_resolution_regex_fallback => 1 } ); __PACKAGE__->components( { map { ( ref($_)||$_ , $_ ) }