test to check cached multipart bodies and arrayification
[catagits/Web-Simple.git] / t / param_parser.t
index b6c0f71..7a35bac 100644 (file)
@@ -3,9 +3,7 @@ use warnings FATAL => 'all';
 
 use Test::More qw(no_plan);
 
-use Web::Simple::ParamParser;
-
-use Data::Dumper::Concise;
+use Web::Dispatch::ParamParser;
 
 my $param_sample = 'foo=bar&baz=quux&foo=%2F';
 my $unpacked = {
@@ -19,7 +17,7 @@ my $unpacked = {
 };
 
 is_deeply(
-  Web::Simple::ParamParser::_unpack_params('foo=bar&baz=quux&foo=%2F'),
+  Web::Dispatch::ParamParser::_unpack_params('foo=bar&baz=quux&foo=%2F'),
   $unpacked,
   'Simple unpack ok'
 );
@@ -27,15 +25,29 @@ is_deeply(
 my $env = { 'QUERY_STRING' => $param_sample };
 
 is_deeply(
-  Web::Simple::ParamParser::get_unpacked_query_from($env),
+  Web::Dispatch::ParamParser::get_unpacked_query_from($env),
   $unpacked,
   'Dynamic unpack ok'
 );
 
 is_deeply(
-  $env->{+Web::Simple::ParamParser::UNPACKED_QUERY},
+  $env->{+Web::Dispatch::ParamParser::UNPACKED_QUERY},
   $unpacked,
   'Unpack cached ok'
 );
 
+sub FakeBody::param { { baz => "quux", foo => [ "bar", "/" ] } }
+
+my $body_env = {
+  CONTENT_TYPE   => "multipart/form-data",
+  CONTENT_LENGTH => 1,
+  +Web::Dispatch::ParamParser::UNPACKED_BODY_OBJECT => [ bless {}, "FakeBody" ]
+};
+
+is_deeply(
+  Web::Dispatch::ParamParser::get_unpacked_body_from($body_env),
+  $unpacked,
+  'Body cached multipart ok'
+);
+
 1;