Use accessor instead of low level header value in tests
[catagits/Catalyst-Action-REST.git] / t / catalyst-traitfor-request-rest.t
index 99f4ffb..93e8ba6 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( {} );
@@ -177,36 +182,6 @@ for my $class ( $anon_class, 'Catalyst::Request::REST' ) {
     }
 }
 
-{
-  local %ENV=%ENV;
-  $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');
-
-  my $meta = Moose::Meta::Class->create_anon_class(
-      superclasses => ['Catalyst::Request'],
-  );
-  $meta->add_method('__random_method' => sub { 42 });
-
-  $test->request_class($meta->name);
-  # FIXME - setup_finished(0) is evil!
-  eval { $test->setup_finished(0); $test->setup };
-  ok !$@, 'Can setup again';
-  isnt $test->request_class, $meta->name, 'Different request class';
-  ok $test->request_class->can('__random_method'), 'Is right class';
-  ok $test->request_class->can('data'), 'Also smells like REST subclass';
-
-  {
-    package My::Request;
-    use base 'Catalyst::Request::REST';
-  }
-  $test->request_class('My::Request');
-  eval { $test->setup_finished(0); $test->setup };
-  is $@, '', 'no error from Request::REST subclass';
-}
-
 done_testing;
 
 package MockContext;