Commit | Line | Data |
134d6c1f |
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; |