use inlined module hiding in tests
[catagits/Catalyst-Runtime.git] / t / aggregate / live_component_controller_action_local.t
index ae98831..052c9c1 100644 (file)
@@ -1,5 +1,3 @@
-#!perl
-
 use strict;
 use warnings;
 
@@ -10,7 +8,7 @@ our $iters;
 
 BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 1; }
 
-use Test::More tests => 32*$iters;
+use Test::More tests => 34*$iters;
 use Catalyst::Test 'TestApp';
 
 if ( $ENV{CAT_BENCHMARK} ) {
@@ -129,10 +127,23 @@ sub run_tests {
             'TestApp::Controller::Action::Local',
             'Test Class'
         );
-        like(
-            $response->content,
-            qr~arguments => \[\s*'foo/bar'\s*\]~,
-            "Parameters don't split on %2F"
-        );
+        my $content = $response->content;
+        {
+            local $@;
+            my $request = eval $content;
+            if ($@) {
+                fail("Content cannot be unserialized: $@ $content");
+            }
+            else {
+                is_deeply $request->arguments, ['foo/bar'], "Parameters don't split on %2F";
+            }
+        }
+    }
+
+    {
+        ok( my $content = get('http://locahost/action/local/five/foo%2Fbar%3B'),
+            'request with URI-encoded arg');
+        # this is the CURRENT behavior
+        like( $content, qr{'foo/bar;'}, 'args for Local actions URI-decoded' );
     }
 }