Actually test both the request trait and class
[catagits/Catalyst-Action-REST.git] / t / catalyst-traitfor-request-rest.t
index 99f4ffb..e6c498c 100644 (file)
@@ -8,16 +8,21 @@ use Catalyst::Request::REST;
 use Catalyst::TraitFor::Request::REST;
 use Moose::Meta::Class;
 use HTTP::Headers;
+use Catalyst::Log;
 
 my $anon_class = Moose::Meta::Class->create_anon_class(
     superclasses => ['Catalyst::Request'],
-    roles        => ['Catalyst::TraitFor::Request::REST::ForBrowsers'],
+    roles        => ['Catalyst::TraitFor::Request::REST'],
     cache        => 1,
 )->name;
 
+# We run the tests twice to make sure Catalyst::Request::REST is
+# 100% back-compatible.
 for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new(
+            _log => Catalyst::Log->new
+        );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( {} );
@@ -34,7 +39,7 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new( _log => Catalyst::Log->new );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( { 'content-type' => 'text/fudge' } );
@@ -52,7 +57,7 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new( _log => Catalyst::Log->new );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( { 'content-type' => 'text/fudge' } );
@@ -63,7 +68,7 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new( _log => Catalyst::Log->new );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( {} );
@@ -91,7 +96,7 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new( _log => Catalyst::Log->new );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( {} );
@@ -116,7 +121,7 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new( _log => Catalyst::Log->new );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( {} );
@@ -141,7 +146,7 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new( _log => Catalyst::Log->new );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( {} );
@@ -159,7 +164,7 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 
     {
-        my $request = Catalyst::Request::REST->new;
+        my $request = $class->new( _log => Catalyst::Log->new );
         $request->{_context} = 'MockContext';
         $request->headers( HTTP::Headers->new );
         $request->parameters( {} );
@@ -182,8 +187,8 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
   $ENV{CATALYST_DEBUG} = 0;
   my $test = 'Test::Catalyst::Action::REST';
   use_ok $test;
-  is($test->request_class, 'Catalyst::Request::REST',
-    'Request::REST took over for Request');
+  ok($test->request_class->does('Catalyst::TraitFor::Request::REST'),
+    'Request does Catalyst::TraitFor::Request::REST');
 
   my $meta = Moose::Meta::Class->create_anon_class(
       superclasses => ['Catalyst::Request'],