xt for JSON::PP, JSON::XS compat.
[p5sagit/JSON-MaybeXS.git] / xt / json_pm_legacy.t
1 use warnings FATAL => 'all';
2 use strict;
3 use Test::More;
4
5 # Just some tests to check JSON::PP versus JSON::MaybeXS for lecacy methods.
6
7 unless ( eval { require JSON; 1}) {
8         plan skip_all => 'No JSON';
9 }
10
11 use JSON::MaybeXS qw/:legacy/;
12 use Encode;
13 use utf8;
14
15 my @hovercraft = (
16                                   'My hovercraft is full of eels',
17                                   'Automjeti im është plot me ngjala',
18                                   'حَوّامتي مُمْتِلئة بِأَنْقَلَيْسون',
19                                   ' Маё судна на паветранай падушцы поўна вуграмі',
20                                   '我的氣墊船裝滿了鱔魚 ',
21                                   'Il mio hovercraft/aeroscivolante è pieno di anguille',
22                                   'សុទ្ធតែឣន្ចងពេញទូកហាះយើង ។',
23                                   "Tá m'árthach foluaineach lán d'eascanna."
24 );
25
26 foreach my $h (@hovercraft) {
27         $h = '["' . $h . '"]';
28         my $j_perl = JSON::from_json($h);
29         my $j_json = JSON::to_json($j_perl);
30         
31         my $h_enc = Encode::encode_utf8($h);
32         my $j_perl_enc = JSON::from_json($h_enc);
33         my $j_json_enc = JSON::to_json($j_perl_enc);
34         
35         my $jm_perl = from_json($h);
36         my $jm_json = to_json($jm_perl);
37         
38         my $jm_perl_enc = from_json($h_enc);
39         my $jm_json_enc = to_json($jm_perl_enc);
40         
41         is_deeply($j_perl, $jm_perl);
42         is_deeply($j_perl_enc, $jm_perl_enc);
43         is ($j_json, $jm_json);
44         is ($j_json_enc, $jm_json_enc);
45 }
46 done_testing();