wrong expected result
[catagits/Catalyst-Runtime.git] / t / aggregate / unit_core_mvc.t
index 26ee2d6..280a7b9 100644 (file)
@@ -2,9 +2,12 @@ use Test::More;
 use strict;
 use warnings;
 
-use Moose::Meta::Class;
+{
+    no warnings 'redefine';
+    *Catalyst::Utils::ensure_class_loaded = sub { };
+}
 
-use_ok('Catalyst');
+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/;
 
@@ -17,7 +20,6 @@ foreach my $comp (@complist) {
     );
 }
 our $warnings = 0;
-our $loaded   = 0;
 
 Moose::Meta::Class->create('Some::Test::Object');
 
@@ -31,23 +33,27 @@ Moose::Meta::Class->create(
 
     use base qw/Catalyst/;
 
-    sub locate_components {
-        return (@::complist, 'MyMVCTestApp::Model::Test::Object');
-    }
-
     no warnings 'redefine';
-    *Catalyst::Log::warn = sub { $::warnings++ };
-    *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' );
 
@@ -86,7 +92,9 @@ is_deeply( [ sort MyMVCTestApp->models ],
            'models ok');
 
 {
-    $warnings = 0;
+    my $warnings = 0;
+    no warnings 'redefine';
+    local *Catalyst::Log::warn = sub { $warnings++ };
 
     is( MyMVCTestApp->view , undef, 'view() w/o a default is undef' );
     ok( $warnings, 'warnings thrown for view() w/o a default' );
@@ -101,7 +109,9 @@ is ( bless ({stash=>{current_view_instance=> $view, current_view=>'MyMVCTestApp:
   'current_view_instance precedes current_view ok');
 
 {
-    $warnings = 0;
+    my $warnings = 0;
+    no warnings 'redefine';
+    local *Catalyst::Log::warn = sub { $warnings++ };
 
     is( MyMVCTestApp->model, undef, 'model() w/o a default is undef' );
     ok( $warnings, 'warnings thrown for model() w/o a default' );
@@ -131,17 +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';
-    *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' );
 
@@ -159,16 +172,20 @@ our @complist_default_model =
 
     use base qw/Catalyst/;
 
-    sub locate_components {
-        return @::complist_default_model;
-    }
-
     no warnings 'redefine';
-    *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' );
 
@@ -189,7 +206,9 @@ is( MyMVCTestAppDefaultModel->model , 'MyMVCTestAppDefaultModel::Model::M', 'def
     is_deeply( [ MyMVCTestApp->model( qr{Test} ) ], [ MyMVCTestApp->components->{'MyMVCTestApp::Model::Test::Object'} ], 'Object returned' );
 
     {
-        $warnings = 0;
+        my $warnings = 0;
+        no warnings 'redefine';
+        local *Catalyst::Log::warn = sub { $warnings++ };
 
         # object w/ regexp fallback
         is( MyMVCTestApp->model( 'Test' ), undef, 'no regexp fallback' );
@@ -253,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($_)||$_ , $_ ) }