Index: trunk/src/third_party/JSON/JSON-2.59/t/18_json_checker.t |
=================================================================== |
--- trunk/src/third_party/JSON/JSON-2.59/t/18_json_checker.t (revision 205060) |
+++ trunk/src/third_party/JSON/JSON-2.59/t/18_json_checker.t (working copy) |
@@ -1,175 +0,0 @@ |
-#! perl |
- |
-# use the testsuite from http://www.json.org/JSON_checker/ |
-# except for fail18.json, as we do not support a depth of 20 (but 16 and 32). |
- |
-# copied over from JSON::XS and modified to use JSON |
- |
-use strict; |
-#no warnings; |
-local $^W = undef; |
-use Test::More; |
-BEGIN { plan tests => 39 }; |
-BEGIN { $ENV{PERL_JSON_BACKEND} = "JSON::backportPP"; } |
- |
-use JSON; |
- |
-my $json = JSON->new->utf8->max_depth(32)->canonical; |
- |
-binmode DATA; |
-my $num = 1; |
-for (;;) { |
- |
- $/ = "\n# "; |
- chomp (my $test = <DATA>) |
- or last; |
- $/ = "\n"; |
- my $name = <DATA>; |
- if (my $perl = eval { $json->decode ($test) }) { |
- ok ($name =~ /^pass/, $name); |
-#print $json->encode ($perl), "\n"; |
- is ($json->encode ($json->decode ($json->encode ($perl))), $json->encode ($perl)); |
- } else { |
- ok ($name =~ /^fail/, "$name ($@)"); |
- } |
- |
-} |
- |
-__DATA__ |
-"A JSON payload should be an object or array, not a string." |
-# fail1.json |
-{"Extra value after close": true} "misplaced quoted value" |
-# fail10.json |
-{"Illegal expression": 1 + 2} |
-# fail11.json |
-{"Illegal invocation": alert()} |
-# fail12.json |
-{"Numbers cannot have leading zeroes": 013} |
-# fail13.json |
-{"Numbers cannot be hex": 0x14} |
-# fail14.json |
-["Illegal backslash escape: \x15"] |
-# fail15.json |
-[\naked] |
-# fail16.json |
-["Illegal backslash escape: \017"] |
-# fail17.json |
-[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] |
-# fail18.json |
-{"Missing colon" null} |
-# fail19.json |
-["Unclosed array" |
-# fail2.json |
-{"Double colon":: null} |
-# fail20.json |
-{"Comma instead of colon", null} |
-# fail21.json |
-["Colon instead of comma": false] |
-# fail22.json |
-["Bad value", truth] |
-# fail23.json |
-['single quote'] |
-# fail24.json |
-[" tab character in string "] |
-# fail25.json |
-["tab\ character\ in\ string\ "] |
-# fail26.json |
-["line |
-break"] |
-# fail27.json |
-["line\ |
-break"] |
-# fail28.json |
-[0e] |
-# fail29.json |
-{unquoted_key: "keys must be quoted"} |
-# fail3.json |
-[0e+] |
-# fail30.json |
-[0e+-1] |
-# fail31.json |
-{"Comma instead if closing brace": true, |
-# fail32.json |
-["mismatch"} |
-# fail33.json |
-["extra comma",] |
-# fail4.json |
-["double extra comma",,] |
-# fail5.json |
-[ , "<-- missing value"] |
-# fail6.json |
-["Comma after the close"], |
-# fail7.json |
-["Extra close"]] |
-# fail8.json |
-{"Extra comma": true,} |
-# fail9.json |
-[ |
- "JSON Test Pattern pass1", |
- {"object with 1 member":["array with 1 element"]}, |
- {}, |
- [], |
- -42, |
- true, |
- false, |
- null, |
- { |
- "integer": 1234567890, |
- "real": -9876.543210, |
- "e": 0.123456789e-12, |
- "E": 1.234567890E+34, |
- "": 23456789012E66, |
- "zero": 0, |
- "one": 1, |
- "space": " ", |
- "quote": "\"", |
- "backslash": "\\", |
- "controls": "\b\f\n\r\t", |
- "slash": "/ & \/", |
- "alpha": "abcdefghijklmnopqrstuvwyz", |
- "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ", |
- "digit": "0123456789", |
- "0123456789": "digit", |
- "special": "`1~!@#$%^&*()_+-={':[,]}|;.</>?", |
- "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A", |
- "true": true, |
- "false": false, |
- "null": null, |
- "array":[ ], |
- "object":{ }, |
- "address": "50 St. James Street", |
- "url": "http://www.JSON.org/", |
- "comment": "// /* <!-- --", |
- "# -- --> */": " ", |
- " s p a c e d " :[1,2 , 3 |
- |
-, |
- |
-4 , 5 , 6 ,7 ],"compact":[1,2,3,4,5,6,7], |
- "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}", |
- "quotes": "" \u0022 %22 0x22 034 "", |
- "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?" |
-: "A key can be any string" |
- }, |
- 0.5 ,98.6 |
-, |
-99.44 |
-, |
- |
-1066, |
-1e1, |
-0.1e1, |
-1e-1, |
-1e00,2e+00,2e-00 |
-,"rosebud"] |
-# pass1.json |
-[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] |
-# pass2.json |
-{ |
- "JSON Test Pattern pass3": { |
- "The outermost value": "must be an object or array.", |
- "In this test": "It is an object." |
- } |
-} |
- |
-# pass3.json |