Bugfix _dispatch_rest_method
[catagits/Catalyst-Action-REST.git] / t / lib / Test / Catalyst / Action / REST / Controller / Actions.pm
index 596e4e0..905b700 100644 (file)
@@ -1,8 +1,8 @@
 package Test::Catalyst::Action::REST::Controller::Actions;
-use strict;
-use warnings;
+use Moose;
+use namespace::autoclean;
 
-use base qw/Catalyst::Controller::REST/;
+BEGIN { extends qw/Catalyst::Controller::REST/ }
 
 __PACKAGE__->_action_class('Test::Action::Class');
 
@@ -23,7 +23,7 @@ sub test_POST : Action {
     $c->res->body('POST');
 }
 
-sub test_PUT :ActionClass('+Test::Action::Class') {
+sub test_PUT :ActionClass('+Test::Action::Class::Sub') {
     my ( $self, $c ) = @_;
     $c->res->body('PUT');
 }
@@ -39,6 +39,44 @@ sub test_OPTIONS : Path('foobar') {
     $c->res->body('OPTIONS');
 }
 
+sub other_test :Local :ActionClass('+Catalyst::Action::REST') {
+    my ( $self, $c ) = @_;
+    $c->res->header('X-Was-In-TopLevel', 1);
+}
+
+sub other_test_GET {
+    my ( $self, $c ) = @_;
+    $c->res->body('GET');
+}
+
+sub other_test_POST {
+    my ( $self, $c ) = @_;
+    $c->res->body('POST');
+}
+
+sub other_test_PUT :ActionClass('+Test::Action::Class::Sub') {
+    my ( $self, $c ) = @_;
+    $c->res->body('PUT');
+}
+
+sub other_test_DELETE {
+    my ( $self, $c ) = @_;
+    $c->res->body('DELETE');
+}
+
+sub other_test_OPTIONS {
+    my ( $self, $c ) = @_;
+
+    $c->res->body('OPTIONS');
+}
+
+sub yet_other_test : Local : ActionClass('+Catalyst::Action::REST') {}
+
+sub yet_other_test_POST {
+  my ( $self, $c ) = @_;
+  $c->res->body('POST');
+}
+
 sub end : Private {} # Don't need serialization..
 
 1;