Create branch register_actions.
[catagits/Catalyst-Runtime.git] / t / unit_core_plugin.t
index 46647fb..97f8d7b 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 20;
+use Test::More tests => 22;
 
 use lib 't/lib';
 
@@ -16,78 +16,23 @@ use lib 't/lib';
     sub count { $count++ }
 }
 
-{
-
-    package PluginTestApp;
-    use Test::More;
-
-    use Catalyst qw(
-      Test::Plugin
-      +TestApp::Plugin::FullyQualified
-    );
-
-    sub compile_time_plugins : Local {
-        my ( $self, $c ) = @_;
-
-        isa_ok $c, 'Catalyst::Plugin::Test::Plugin';
-        isa_ok $c, 'TestApp::Plugin::FullyQualified';
-
-        can_ok $c, 'registered_plugins';
-        $c->_test_plugins;
-
-        $c->res->body("ok");
-    }
-
-    sub run_time_plugins : Local {
-        my ( $self, $c ) = @_;
-
-        $c->_test_plugins;
-        my $faux_plugin = 'Faux::Plugin';
-
-        # Trick perl into thinking the plugin is already loaded
-        $INC{'Faux/Plugin.pm'} = 1;
-
-        __PACKAGE__->plugin( faux => $faux_plugin );
-
-        isa_ok $c, 'Catalyst::Plugin::Test::Plugin';
-        isa_ok $c, 'TestApp::Plugin::FullyQualified';
-        ok !$c->isa($faux_plugin),
-          '... and it should not inherit from the instant plugin';
-        can_ok $c, 'faux';
-        is $c->faux->count, 1, '... and it should behave correctly';
-        is_deeply [ $c->registered_plugins ],
-            [
-                qw/Catalyst::Plugin::Test::Plugin
-                   Faux::Plugin
-                   TestApp::Plugin::FullyQualified/
-            ],
-            'registered_plugins() should report all plugins';
-        ok $c->registered_plugins('Faux::Plugin'),
-            '... and even the specific instant plugin';
-
-        $c->res->body("ok");
-    }
-
-    sub _test_plugins {
-        my $c = shift;
-        is_deeply [ $c->registered_plugins ],
-            [
-                qw/Catalyst::Plugin::Test::Plugin
-                   TestApp::Plugin::FullyQualified/
-            ],
-            '... and it should report the correct plugins';
-        ok $c->registered_plugins('Catalyst::Plugin::Test::Plugin'),
-            '... or if we have a particular plugin';
-        ok $c->registered_plugins('Test::Plugin'),
-            '... even if it is not fully qualified';
-        ok !$c->registered_plugins('No::Such::Plugin'),
-            '... and it should return false if the plugin does not exist';
-    }
-
-    __PACKAGE__->setup;
-}
-
 use Catalyst::Test qw/PluginTestApp/;
 
 ok( get("/compile_time_plugins"), "get ok" );
+# FIXME - Run time plugin support is insane, and should be removed
+#         for Catalyst 5.9
 ok( get("/run_time_plugins"),     "get ok" );
+
+use_ok 'TestApp';
+my @expected = qw(
+  Catalyst::Plugin::Test::Errors
+  Catalyst::Plugin::Test::Headers
+  Catalyst::Plugin::Test::Inline
+  Catalyst::Plugin::Test::Plugin
+  TestApp::Plugin::AddDispatchTypes
+  TestApp::Plugin::FullyQualified
+);
+
+# Faux::Plugin is no longer reported
+is_deeply [ TestApp->registered_plugins ], \@expected,
+  'registered_plugins() should only report the plugins for the current class';