xt for JSON::PP, JSON::XS compat.
Kieren Diment [Wed, 29 Oct 2014 21:37:49 +0000 (08:37 +1100)]
xt/json_pm_legacy.t [new file with mode: 0644]
xt/json_pp_legacy.t [new file with mode: 0644]
xt/json_xs_legacy.t [new file with mode: 0644]

diff --git a/xt/json_pm_legacy.t b/xt/json_pm_legacy.t
new file mode 100644 (file)
index 0000000..6847404
--- /dev/null
@@ -0,0 +1,46 @@
+use warnings FATAL => 'all';
+use strict;
+use Test::More;
+
+# Just some tests to check JSON::PP versus JSON::MaybeXS for lecacy methods.
+
+unless ( eval { require JSON; 1}) {
+       plan skip_all => 'No JSON';
+}
+
+use JSON::MaybeXS qw/:legacy/;
+use Encode;
+use utf8;
+
+my @hovercraft = (
+                                 'My hovercraft is full of eels',
+                                 'Automjeti im është plot me ngjala',
+                                 'حَوّامتي مُمْتِلئة بِأَنْقَلَيْسون',
+                                 ' Маё судна на паветранай падушцы поўна вуграмі',
+                                 '我的氣墊船裝滿了鱔魚 ',
+                                 'Il mio hovercraft/aeroscivolante è pieno di anguille',
+                                 'សុទ្ធតែឣន្ចងពេញទូកហាះយើង ។',
+                                 "Tá m'árthach foluaineach lán d'eascanna."
+);
+
+foreach my $h (@hovercraft) {
+       $h = '["' . $h . '"]';
+       my $j_perl = JSON::from_json($h);
+       my $j_json = JSON::to_json($j_perl);
+       
+       my $h_enc = Encode::encode_utf8($h);
+       my $j_perl_enc = JSON::from_json($h_enc);
+       my $j_json_enc = JSON::to_json($j_perl_enc);
+       
+       my $jm_perl = from_json($h);
+       my $jm_json = to_json($jm_perl);
+       
+       my $jm_perl_enc = from_json($h_enc);
+       my $jm_json_enc = to_json($jm_perl_enc);
+       
+       is_deeply($j_perl, $jm_perl);
+       is_deeply($j_perl_enc, $jm_perl_enc);
+       is ($j_json, $jm_json);
+       is ($j_json_enc, $jm_json_enc);
+}
+done_testing();
diff --git a/xt/json_pp_legacy.t b/xt/json_pp_legacy.t
new file mode 100644 (file)
index 0000000..0acd666
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+use FindBin qw/$Bin/;
+$ENV{PERL_JSON_BACKEND} = 'JSON::PP';
+require "$Bin/json_pm_legacy.t";
diff --git a/xt/json_xs_legacy.t b/xt/json_xs_legacy.t
new file mode 100644 (file)
index 0000000..3ec2e66
--- /dev/null
@@ -0,0 +1,7 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+use FindBin qw/$Bin/;
+$ENV{PERL_JSON_BACKEND} = 'JSON::XS';
+require "$Bin/json_pm_legacy.t";
+