Test that warnings are generated if appclass actions are used
Yousef H. Alhashemi [Thu, 3 Sep 2009 12:08:43 +0000 (12:08 +0000)]
t/deprecated_appclass_action_warnings.t
t/lib/DeprecatedActionsInAppClassTestApp.pm

index 6d73d6e..a9979fe 100644 (file)
@@ -7,7 +7,12 @@ use lib "$FindBin::Bin/lib";
 use Test::More;
 use Catalyst::Test 'DeprecatedActionsInAppClassTestApp';
 
-plan tests => 2;
+plan tests => 3;
+
+my $warnings;
+my $logger = DeprecatedActionsInAppClassTestApp::Log->new;
+Catalyst->log($logger);
 
 ok( my $response = request('http://localhost/foo'), 'Request' );
 ok( $response->is_success, 'Response Successful 2xx' );
+is( $warnings, 1, 'Get the appclass action warning' );
\ No newline at end of file
index bdf4b98..565bc3e 100644 (file)
@@ -4,6 +4,10 @@ use strict;
 use warnings;
 use Catalyst;
 
+our $VERSION = '0.01';
+
+__PACKAGE__->config( name => 'DeprecatedActionsInAppClassTestApp', root => '/some/dir' );
+__PACKAGE__->log(DeprecatedActionsInAppClassTestApp::Log->new);
 __PACKAGE__->setup;
 
 sub foo : Local {
@@ -11,4 +15,14 @@ sub foo : Local {
     $c->res->body('OK');
 }
 
+package DeprecatedActionsInAppClassTestApp::Log;
+use strict;
+use warnings;
+use base qw/Catalyst::Log/;
+
+sub warn {
+    my ($self, $warning) = @_;
+    $warnings++ if $warning =~ /action methods .+ found defined/i;
+}
+
 1;