AGGREGATE_TESTS environment variable is set and a recent
Test::Aggregate is available. (rafl)
- POD formatting fix for Catalyst::Test (Dan Dascalescu)
- - Bump to MooseX::MethodAttributes 0.08, to gain the
+ - Bump to MooseX::MethodAttributes 0.09, to gain the
get_nearest_methods_with_attributes method allowing methods without
- attributes in a subclass to override those with attributes in a superclass.
- This fixes CatalystX::CRUD's method of overriding/disabling functionality
- base controllers (t0m).
+ attributes in a subclass to override those with attributes in a
+ superclass. This fixes CatalystX::CRUD's method of overriding /
+ disabling functionality from base controllers (t0m).
5.80002 2009-04-22 01:28:36
- Fix CATALYST_DEBUG and MYAPP_DEBUG environment variables
requires 'Scope::Upper' => '0.06';
requires 'MooseX::Emulate::Class::Accessor::Fast' => '0.00801';
requires 'Moose' => '0.73';
-requires 'MooseX::MethodAttributes::Inheritable' => '0.08';
+requires 'MooseX::MethodAttributes::Inheritable' => '0.09';
requires 'Carp';
requires 'Class::C3::Adopt::NEXT' => '0.07';
requires 'Class::MOP' => '0.79';
use Moose;
extends 'Catalyst::Component';
use Moose::Util qw/find_meta/;
+use Moose::Util::MetaRole ();
use bytes;
use Scope::Upper ();
use Catalyst::Exception;
=cut
sub _controller_init_base_classes {
- my ($class, $component) = @_;
+ my ($app_class, $component) = @_;
foreach my $class ( reverse @{ mro::get_linear_isa($component) } ) {
+ next unless $class =~ /^$app_class/;
Moose->init_meta( for_class => $class )
unless find_meta($class);
}
use FindBin;
use lib "$FindBin::Bin/../lib";
-use Test::More tests => 7;
+use Test::More tests => 12;
use Catalyst::Test 'TestApp';
{
my $response = request('http://localhost/moose/get_attribute');
ok($response->is_success);
is($response->content, '42', 'attribute default values get set correctly');
- is($response->header('X-Catalyst-Test-Before'), 'before called', 'before works as expected');
}
{
- TODO: {
- local $TODO = 'Wrapping methods in a subclass, when the subclass contains no other methods with attributes is broken';
- my $response = request('http://localhost/moose/methodmodifiers/get_attribute');
- ok($response->is_success);
- is($response->content, '42', 'parent controller method called');
- is($response->header('X-Catalyst-Test-Before'), 'before called', 'before works as expected');
- is($response->header('X-Catalyst-Test-After'), 'after called', 'after works as expected');
- }
+ my $response = request('http://localhost/moose/methodmodifiers/get_attribute');
+ ok($response->is_success);
+ is($response->content, '42', 'parent controller method called');
+ is($response->header('X-Catalyst-Test-After'), 'after called', 'after works as expected');
+}
+
+{
+ my $response = request('http://localhost/moose/with_local_modifier');
+ ok($response->is_success);
+ is($response->content, '42', 'attribute default values get set correctly');
+ is($response->header('X-Catalyst-Test-Before'), 'before called', 'before works as expected');
+}
+{
+ my $response = request('http://localhost/moose/methodmodifiers/with_local_modifier');
+ ok($response->is_success);
+ is($response->content, '42', 'attribute default values get set correctly');
+ is($response->header('X-Catalyst-Test-After'), 'after called', 'after works as expected');
+ is($response->header('X-Catalyst-Test-Before'), 'before called', 'before works as expected');
}
+