From: Alexander Hartmaier Date: Mon, 11 Oct 2010 17:19:30 +0000 (+0000) Subject: fixed subclassing when using expose_methods + test X-Git-Tag: 0.38~11 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-View-TT.git;a=commitdiff_plain;h=1cb1d672ac90c4944c2da58712d0f6732e5f0d9d fixed subclassing when using expose_methods + test --- diff --git a/lib/Catalyst/View/TT.pm b/lib/Catalyst/View/TT.pm index 3d8c751..d346b61 100644 --- a/lib/Catalyst/View/TT.pm +++ b/lib/Catalyst/View/TT.pm @@ -278,7 +278,7 @@ sub template_vars { if ($self->expose_methods) { my $meta = $self->meta; foreach my $method_name (@{$self->expose_methods}) { - my $method = $meta->get_method( $method_name ); + my $method = $meta->find_method_by_name( $method_name ); unless ($method) { Catalyst::Exception->throw( "$method_name not found in TT view" ); } diff --git a/t/12expose_methods.t b/t/12expose_methods.t index 06c153a..60a0e5c 100644 --- a/t/12expose_methods.t +++ b/t/12expose_methods.t @@ -1,6 +1,6 @@ use strict; use warnings; -use Test::More tests => 3; +use Test::More; use FindBin; use lib "$FindBin::Bin/lib"; @@ -10,3 +10,7 @@ use_ok('Catalyst::Test', 'TestApp'); my $response; ok(($response = request("/test?view=ExposeMethods&template=expose_methods.tt"))->is_success, 'request ok'); is($response->content, "magic added param", 'message ok'); +ok(($response = request("/test?view=ExposeMethodsSubclassed&template=expose_methods.tt"))->is_success, 'request ok'); +is($response->content, "magic added param", 'message ok'); + +done_testing; diff --git a/t/lib/TestApp/View/TT/ExposeMethodsSubclassed.pm b/t/lib/TestApp/View/TT/ExposeMethodsSubclassed.pm new file mode 100644 index 0000000..a44fdb6 --- /dev/null +++ b/t/lib/TestApp/View/TT/ExposeMethodsSubclassed.pm @@ -0,0 +1,6 @@ +package TestApp::View::TT::ExposeMethodsSubclassed; + +use Moose; +extends 'TestApp::View::TT::ExposeMethods'; + +1;