Index: third_party/JSON/JSON-2.59/t/e14_decode_prefix.t |
diff --git a/third_party/JSON/JSON-2.59/t/e14_decode_prefix.t b/third_party/JSON/JSON-2.59/t/e14_decode_prefix.t |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4ba39abf28b48941097ae311643ec5db1b5a8cc1 |
--- /dev/null |
+++ b/third_party/JSON/JSON-2.59/t/e14_decode_prefix.t |
@@ -0,0 +1,28 @@ |
+ |
+use strict; |
+use Test::More tests => 8; |
+ |
+BEGIN { |
+ $ENV{ PERL_JSON_BACKEND } = "JSON::backportPP"; |
+} |
+ |
+use JSON; |
+ |
+my $json = JSON->new; |
+ |
+my $complete_text = qq/{"foo":"bar"}/; |
+my $garbaged_text = qq/{"foo":"bar"}\n/; |
+my $garbaged_text2 = qq/{"foo":"bar"}\n\n/; |
+my $garbaged_text3 = qq/{"foo":"bar"}\n----/; |
+ |
+is( ( $json->decode_prefix( $complete_text ) ) [1], 13 ); |
+is( ( $json->decode_prefix( $garbaged_text ) ) [1], 13 ); |
+is( ( $json->decode_prefix( $garbaged_text2 ) ) [1], 13 ); |
+is( ( $json->decode_prefix( $garbaged_text3 ) ) [1], 13 ); |
+ |
+eval { $json->decode( "\n" ) }; ok( $@ =~ /malformed JSON/ ); |
+eval { $json->decode('null') }; ok $@ =~ /allow_nonref/; |
+ |
+eval { $json->decode_prefix( "\n" ) }; ok( $@ =~ /malformed JSON/ ); |
+eval { $json->decode_prefix('null') }; ok $@ =~ /allow_nonref/; |
+ |