b6c0f71db80035ce91cb7f8addc739a69be903ca
[catagits/Web-Simple.git] / t / param_parser.t
1 use strict;
2 use warnings FATAL => 'all';
3
4 use Test::More qw(no_plan);
5
6 use Web::Simple::ParamParser;
7
8 use Data::Dumper::Concise;
9
10 my $param_sample = 'foo=bar&baz=quux&foo=%2F';
11 my $unpacked = {
12   baz => [
13     "quux"
14   ],
15   foo => [
16     "bar",
17     "/"
18   ]
19 };
20
21 is_deeply(
22   Web::Simple::ParamParser::_unpack_params('foo=bar&baz=quux&foo=%2F'),
23   $unpacked,
24   'Simple unpack ok'
25 );
26
27 my $env = { 'QUERY_STRING' => $param_sample };
28
29 is_deeply(
30   Web::Simple::ParamParser::get_unpacked_query_from($env),
31   $unpacked,
32   'Dynamic unpack ok'
33 );
34
35 is_deeply(
36   $env->{+Web::Simple::ParamParser::UNPACKED_QUERY},
37   $unpacked,
38   'Unpack cached ok'
39 );
40
41 1;