File: json.t

package info (click to toggle)
libhttp-entity-parser-perl 0.18-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 484 kB
  • ctags: 26
  • sloc: perl: 376; makefile: 2
file content (25 lines) | stat: -rw-r--r-- 635 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use strict;
use warnings;
use Test::More;
use HTTP::Entity::Parser::JSON;
use Hash::MultiValue;
use utf8;

my $parser = HTTP::Entity::Parser::JSON->new();
$parser->add('{');
$parser->add('"hoge":["fuga","hige"],');
$parser->add('"\u306b\u307b\u3093\u3054":"\u65e5\u672c\u8a9e",');
$parser->add('"moge":"muga"');
$parser->add('}');

my ($params, $uploads) = $parser->finalize();
is_deeply(Hash::MultiValue->new(@$params)->as_hashref_multi,
  +{
    'hoge'     => [ 'fuga', 'hige' ],
    'moge'     => ['muga'],
    Encode::encode_utf8('にほんご') => [Encode::encode_utf8('日本語')],
  });
is_deeply $uploads, [];

done_testing;