Index: third_party/JSON/JSON-2.59/t/11_pc_expo.t |
diff --git a/third_party/JSON/JSON-2.59/t/11_pc_expo.t b/third_party/JSON/JSON-2.59/t/11_pc_expo.t |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5e587d8c1030dbb92bd0dd33cfbcf3568d0203b6 |
--- /dev/null |
+++ b/third_party/JSON/JSON-2.59/t/11_pc_expo.t |
@@ -0,0 +1,47 @@ |
+# copied over from JSON::PC and modified to use JSON |
+# copied over from JSON::XS and modified to use JSON |
+ |
+use Test::More; |
+use strict; |
+BEGIN { plan tests => 8 }; |
+ |
+BEGIN { $ENV{PERL_JSON_BACKEND} = "JSON::backportPP"; } |
+ |
+use JSON; |
+ |
+######################### |
+my ($js,$obj); |
+my $pc = new JSON; |
+ |
+$js = q|[-12.34]|; |
+$obj = $pc->decode($js); |
+is($obj->[0], -12.34, 'digit -12.34'); |
+$js = $pc->encode($obj); |
+is($js,'[-12.34]', 'digit -12.34'); |
+ |
+$js = q|[-1.234e5]|; |
+$obj = $pc->decode($js); |
+is($obj->[0], -123400, 'digit -1.234e5'); |
+$js = $pc->encode($obj); |
+is($js,'[-123400]', 'digit -1.234e5'); |
+ |
+$js = q|[1.23E-4]|; |
+$obj = $pc->decode($js); |
+is($obj->[0], 0.000123, 'digit 1.23E-4'); |
+$js = $pc->encode($obj); |
+ |
+if ( $js =~ /\[1/ ) { # for 5.6.2 on Darwin 8.10.0 |
+ like($js, qr/[1.23[eE]-04]/, 'digit 1.23E-4'); |
+} |
+else { |
+ is($js,'[0.000123]', 'digit 1.23E-4'); |
+} |
+ |
+ |
+ |
+$js = q|[1.01e+67]|; # 30 -> 67 ... patched by H.Merijn Brand |
+$obj = $pc->decode($js); |
+is($obj->[0], 1.01e+67, 'digit 1.01e+67'); |
+$js = $pc->encode($obj); |
+like($js,qr/\[1.01[Ee]\+0?67\]/, 'digit 1.01e+67'); |
+ |