use inlined module hiding in tests
[catagits/Catalyst-Runtime.git] / t / undef-params.t
index 8ce8e2c..24b23cc 100644 (file)
@@ -22,23 +22,39 @@ use Plack::Test;
     $c->response->body("This is the body");
   }
 
+  sub set_params :Local {
+    my ($self, $c) = @_;
+    $c->req->param(foo => 'a', 'b', 'c');
+    $c->res->body(join ',', $c->req->param('foo'));
+  }
+
   package MyApp;
   use Catalyst;
 
   $SIG{__WARN__} = sub {
     my $error = shift;
-    Test::More::is($error, "You called ->params with an undefined value at t/undef-params.t line 20.\n");
+    Test::More::like($error, qr[You called ->params with an undefined value])
+      unless MyApp->debug;
   };
 
-  MyApp->setup, 'setup app';
+  MyApp->setup;
 }
 
 ok my $psgi = MyApp->psgi_app, 'build psgi app';
 
 test_psgi $psgi, sub {
     my $cb = shift;
-    my $res = $cb->(GET "/root/test");
-    is $res->code, 200, 'OK';
+
+    {
+      my $res = $cb->(GET "/root/test");
+      is $res->code, 200, 'OK';
+    }
+
+    {
+      my $res = $cb->(GET "/root/set_params");
+      is $res->code, 200, 'OK';
+      is $res->content, 'a,b,c';
+    }
 };
 
 done_testing;