ffi-yajl 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +17 -0
  4. data/Rakefile +62 -0
  5. data/bin/ffi-yajl-bench +36 -0
  6. data/ext/ffi_yajl/ext/encoder/encoder.c +240 -0
  7. data/ext/ffi_yajl/ext/encoder/extconf.rb +29 -0
  8. data/ext/ffi_yajl/ext/parser/extconf.rb +29 -0
  9. data/ext/ffi_yajl/ext/parser/parser.c +199 -0
  10. data/ext/libyajl2/extconf.rb +65 -0
  11. data/ext/libyajl2/vendored/.gitignore +3 -0
  12. data/ext/libyajl2/vendored/BUILDING +23 -0
  13. data/ext/libyajl2/vendored/BUILDING.win32 +27 -0
  14. data/ext/libyajl2/vendored/CMakeLists.txt +79 -0
  15. data/ext/libyajl2/vendored/COPYING +13 -0
  16. data/ext/libyajl2/vendored/ChangeLog +175 -0
  17. data/ext/libyajl2/vendored/README +74 -0
  18. data/ext/libyajl2/vendored/TODO +9 -0
  19. data/ext/libyajl2/vendored/YAJLDoc.cmake +26 -0
  20. data/ext/libyajl2/vendored/configure +79 -0
  21. data/ext/libyajl2/vendored/example/CMakeLists.txt +23 -0
  22. data/ext/libyajl2/vendored/example/README.md +7 -0
  23. data/ext/libyajl2/vendored/example/parse_config.c +69 -0
  24. data/ext/libyajl2/vendored/example/sample.config +101 -0
  25. data/ext/libyajl2/vendored/perf/CMakeLists.txt +23 -0
  26. data/ext/libyajl2/vendored/perf/documents.c +1418 -0
  27. data/ext/libyajl2/vendored/perf/documents.h +28 -0
  28. data/ext/libyajl2/vendored/perf/perftest.c +134 -0
  29. data/ext/libyajl2/vendored/reformatter/CMakeLists.txt +39 -0
  30. data/ext/libyajl2/vendored/reformatter/json_reformat.c +194 -0
  31. data/ext/libyajl2/vendored/src/CMakeLists.txt +86 -0
  32. data/ext/libyajl2/vendored/src/YAJL.dxy +1258 -0
  33. data/ext/libyajl2/vendored/src/api/yajl_common.h +75 -0
  34. data/ext/libyajl2/vendored/src/api/yajl_gen.h +157 -0
  35. data/ext/libyajl2/vendored/src/api/yajl_parse.h +226 -0
  36. data/ext/libyajl2/vendored/src/api/yajl_tree.h +185 -0
  37. data/ext/libyajl2/vendored/src/api/yajl_version.h.cmake +23 -0
  38. data/ext/libyajl2/vendored/src/yajl +33 -0
  39. data/ext/libyajl2/vendored/src/yajl.c +175 -0
  40. data/ext/libyajl2/vendored/src/yajl.pc.cmake +9 -0
  41. data/ext/libyajl2/vendored/src/yajl_alloc.c +52 -0
  42. data/ext/libyajl2/vendored/src/yajl_alloc.h +34 -0
  43. data/ext/libyajl2/vendored/src/yajl_buf.c +103 -0
  44. data/ext/libyajl2/vendored/src/yajl_buf.h +57 -0
  45. data/ext/libyajl2/vendored/src/yajl_bytestack.h +69 -0
  46. data/ext/libyajl2/vendored/src/yajl_encode.c +220 -0
  47. data/ext/libyajl2/vendored/src/yajl_encode.h +34 -0
  48. data/ext/libyajl2/vendored/src/yajl_gen.c +354 -0
  49. data/ext/libyajl2/vendored/src/yajl_lex.c +763 -0
  50. data/ext/libyajl2/vendored/src/yajl_lex.h +117 -0
  51. data/ext/libyajl2/vendored/src/yajl_parser.c +498 -0
  52. data/ext/libyajl2/vendored/src/yajl_parser.h +78 -0
  53. data/ext/libyajl2/vendored/src/yajl_tree.c +503 -0
  54. data/ext/libyajl2/vendored/src/yajl_version.c +7 -0
  55. data/ext/libyajl2/vendored/test/CMakeLists.txt +23 -0
  56. data/ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json +1 -0
  57. data/ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json.gold +36 -0
  58. data/ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json +11 -0
  59. data/ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json.gold +9 -0
  60. data/ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json +1 -0
  61. data/ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json.gold +2 -0
  62. data/ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json +1 -0
  63. data/ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json.gold +2 -0
  64. data/ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json +1 -0
  65. data/ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json.gold +2 -0
  66. data/ext/libyajl2/vendored/test/cases/am_eof.json +1 -0
  67. data/ext/libyajl2/vendored/test/cases/am_eof.json.gold +4 -0
  68. data/ext/libyajl2/vendored/test/cases/am_integers.json +1 -0
  69. data/ext/libyajl2/vendored/test/cases/am_integers.json.gold +3 -0
  70. data/ext/libyajl2/vendored/test/cases/am_multiple.json +3 -0
  71. data/ext/libyajl2/vendored/test/cases/am_multiple.json.gold +5 -0
  72. data/ext/libyajl2/vendored/test/cases/am_stuff.json +7 -0
  73. data/ext/libyajl2/vendored/test/cases/am_stuff.json.gold +14 -0
  74. data/ext/libyajl2/vendored/test/cases/ap_array_open.json +1 -0
  75. data/ext/libyajl2/vendored/test/cases/ap_array_open.json.gold +2 -0
  76. data/ext/libyajl2/vendored/test/cases/ap_eof_str.json +1 -0
  77. data/ext/libyajl2/vendored/test/cases/ap_eof_str.json.gold +1 -0
  78. data/ext/libyajl2/vendored/test/cases/ap_map_open.json +1 -0
  79. data/ext/libyajl2/vendored/test/cases/ap_map_open.json.gold +2 -0
  80. data/ext/libyajl2/vendored/test/cases/ap_partial_ok.json +1 -0
  81. data/ext/libyajl2/vendored/test/cases/ap_partial_ok.json.gold +4 -0
  82. data/ext/libyajl2/vendored/test/cases/array.json +6 -0
  83. data/ext/libyajl2/vendored/test/cases/array.json.gold +22 -0
  84. data/ext/libyajl2/vendored/test/cases/array_close.json +1 -0
  85. data/ext/libyajl2/vendored/test/cases/array_close.json.gold +2 -0
  86. data/ext/libyajl2/vendored/test/cases/bignums.json +1 -0
  87. data/ext/libyajl2/vendored/test/cases/bignums.json.gold +5 -0
  88. data/ext/libyajl2/vendored/test/cases/bogus_char.json +4 -0
  89. data/ext/libyajl2/vendored/test/cases/bogus_char.json.gold +10 -0
  90. data/ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json +1 -0
  91. data/ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json.gold +2 -0
  92. data/ext/libyajl2/vendored/test/cases/deep_arrays.json +1 -0
  93. data/ext/libyajl2/vendored/test/cases/deep_arrays.json.gold +2049 -0
  94. data/ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json +1 -0
  95. data/ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json.gold +36 -0
  96. data/ext/libyajl2/vendored/test/cases/doubles.json +1 -0
  97. data/ext/libyajl2/vendored/test/cases/doubles.json.gold +7 -0
  98. data/ext/libyajl2/vendored/test/cases/doubles_in_array.json +1 -0
  99. data/ext/libyajl2/vendored/test/cases/doubles_in_array.json.gold +8 -0
  100. data/ext/libyajl2/vendored/test/cases/empty_array.json +1 -0
  101. data/ext/libyajl2/vendored/test/cases/empty_array.json.gold +3 -0
  102. data/ext/libyajl2/vendored/test/cases/empty_string.json +1 -0
  103. data/ext/libyajl2/vendored/test/cases/empty_string.json.gold +2 -0
  104. data/ext/libyajl2/vendored/test/cases/escaped_bulgarian.json +4 -0
  105. data/ext/libyajl2/vendored/test/cases/escaped_bulgarian.json.gold +7 -0
  106. data/ext/libyajl2/vendored/test/cases/escaped_foobar.json +1 -0
  107. data/ext/libyajl2/vendored/test/cases/escaped_foobar.json.gold +2 -0
  108. data/ext/libyajl2/vendored/test/cases/false.json +1 -0
  109. data/ext/libyajl2/vendored/test/cases/false.json.gold +2 -0
  110. data/ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json +1 -0
  111. data/ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json.gold +3 -0
  112. data/ext/libyajl2/vendored/test/cases/fg_issue_7.json +1 -0
  113. data/ext/libyajl2/vendored/test/cases/fg_issue_7.json.gold +3 -0
  114. data/ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json +1 -0
  115. data/ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json.gold +3 -0
  116. data/ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json +1 -0
  117. data/ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json.gold +3 -0
  118. data/ext/libyajl2/vendored/test/cases/four_byte_utf8.json +2 -0
  119. data/ext/libyajl2/vendored/test/cases/four_byte_utf8.json.gold +5 -0
  120. data/ext/libyajl2/vendored/test/cases/high_overflow.json +1 -0
  121. data/ext/libyajl2/vendored/test/cases/high_overflow.json.gold +2 -0
  122. data/ext/libyajl2/vendored/test/cases/integers.json +3 -0
  123. data/ext/libyajl2/vendored/test/cases/integers.json.gold +14 -0
  124. data/ext/libyajl2/vendored/test/cases/invalid_utf8.json +1 -0
  125. data/ext/libyajl2/vendored/test/cases/invalid_utf8.json.gold +3 -0
  126. data/ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json +1 -0
  127. data/ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json.gold +2 -0
  128. data/ext/libyajl2/vendored/test/cases/leading_zero_in_number.json +1 -0
  129. data/ext/libyajl2/vendored/test/cases/leading_zero_in_number.json.gold +5 -0
  130. data/ext/libyajl2/vendored/test/cases/lonely_minus_sign.json +7 -0
  131. data/ext/libyajl2/vendored/test/cases/lonely_minus_sign.json.gold +9 -0
  132. data/ext/libyajl2/vendored/test/cases/lonely_number.json +1 -0
  133. data/ext/libyajl2/vendored/test/cases/lonely_number.json.gold +2 -0
  134. data/ext/libyajl2/vendored/test/cases/low_overflow.json +1 -0
  135. data/ext/libyajl2/vendored/test/cases/low_overflow.json.gold +2 -0
  136. data/ext/libyajl2/vendored/test/cases/map_close.json +1 -0
  137. data/ext/libyajl2/vendored/test/cases/map_close.json.gold +2 -0
  138. data/ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json +1 -0
  139. data/ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json.gold +2 -0
  140. data/ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json +1 -0
  141. data/ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json.gold +2 -0
  142. data/ext/libyajl2/vendored/test/cases/multiple.json +3 -0
  143. data/ext/libyajl2/vendored/test/cases/multiple.json.gold +4 -0
  144. data/ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json +1 -0
  145. data/ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json.gold +8 -0
  146. data/ext/libyajl2/vendored/test/cases/np_partial_bad.json +1 -0
  147. data/ext/libyajl2/vendored/test/cases/np_partial_bad.json.gold +5 -0
  148. data/ext/libyajl2/vendored/test/cases/null.json +1 -0
  149. data/ext/libyajl2/vendored/test/cases/null.json.gold +2 -0
  150. data/ext/libyajl2/vendored/test/cases/nulls_and_bools.json +5 -0
  151. data/ext/libyajl2/vendored/test/cases/nulls_and_bools.json.gold +9 -0
  152. data/ext/libyajl2/vendored/test/cases/simple.json +5 -0
  153. data/ext/libyajl2/vendored/test/cases/simple.json.gold +9 -0
  154. data/ext/libyajl2/vendored/test/cases/simple_with_comments.json +11 -0
  155. data/ext/libyajl2/vendored/test/cases/simple_with_comments.json.gold +5 -0
  156. data/ext/libyajl2/vendored/test/cases/string_invalid_escape.json +1 -0
  157. data/ext/libyajl2/vendored/test/cases/string_invalid_escape.json.gold +3 -0
  158. data/ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json +1 -0
  159. data/ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json.gold +2 -0
  160. data/ext/libyajl2/vendored/test/cases/string_with_escapes.json +3 -0
  161. data/ext/libyajl2/vendored/test/cases/string_with_escapes.json.gold +7 -0
  162. data/ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json +2 -0
  163. data/ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json.gold +2 -0
  164. data/ext/libyajl2/vendored/test/cases/three_byte_utf8.json +1 -0
  165. data/ext/libyajl2/vendored/test/cases/three_byte_utf8.json.gold +7 -0
  166. data/ext/libyajl2/vendored/test/cases/true.json +1 -0
  167. data/ext/libyajl2/vendored/test/cases/true.json.gold +2 -0
  168. data/ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json +1 -0
  169. data/ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json.gold +4 -0
  170. data/ext/libyajl2/vendored/test/cases/zerobyte.json +1 -0
  171. data/ext/libyajl2/vendored/test/cases/zerobyte.json.gold +0 -0
  172. data/ext/libyajl2/vendored/test/run_tests.sh +94 -0
  173. data/ext/libyajl2/vendored/test/yajl_test.c +281 -0
  174. data/ext/libyajl2/vendored/verify/CMakeLists.txt +39 -0
  175. data/ext/libyajl2/vendored/verify/json_verify.c +116 -0
  176. data/lib/ffi_yajl.rb +14 -0
  177. data/lib/ffi_yajl/benchmark.rb +7 -0
  178. data/lib/ffi_yajl/benchmark/MIT-LICENSE +20 -0
  179. data/lib/ffi_yajl/benchmark/encode.rb +135 -0
  180. data/lib/ffi_yajl/benchmark/encode_json_and_marshal.rb +42 -0
  181. data/lib/ffi_yajl/benchmark/encode_json_and_yaml.rb +53 -0
  182. data/lib/ffi_yajl/benchmark/encode_profile.rb +38 -0
  183. data/lib/ffi_yajl/benchmark/http.rb +32 -0
  184. data/lib/ffi_yajl/benchmark/parse.rb +133 -0
  185. data/lib/ffi_yajl/benchmark/parse_json_and_marshal.rb +50 -0
  186. data/lib/ffi_yajl/benchmark/parse_json_and_yaml.rb +55 -0
  187. data/lib/ffi_yajl/benchmark/parse_profile.rb +37 -0
  188. data/lib/ffi_yajl/benchmark/parse_profile_ruby_prof.rb +39 -0
  189. data/lib/ffi_yajl/benchmark/parse_stream.rb +54 -0
  190. data/lib/ffi_yajl/benchmark/subjects/item.json +1 -0
  191. data/lib/ffi_yajl/benchmark/subjects/ohai.json +1216 -0
  192. data/lib/ffi_yajl/benchmark/subjects/ohai.marshal_dump +0 -0
  193. data/lib/ffi_yajl/benchmark/subjects/ohai.yml +975 -0
  194. data/lib/ffi_yajl/benchmark/subjects/twitter_search.json +1 -0
  195. data/lib/ffi_yajl/benchmark/subjects/twitter_stream.json +430 -0
  196. data/lib/ffi_yajl/benchmark/subjects/unicode.json +1 -0
  197. data/lib/ffi_yajl/encoder.rb +53 -0
  198. data/lib/ffi_yajl/ext.rb +22 -0
  199. data/lib/ffi_yajl/ext/.keep +0 -0
  200. data/lib/ffi_yajl/ffi.rb +129 -0
  201. data/lib/ffi_yajl/ffi/encoder.rb +175 -0
  202. data/lib/ffi_yajl/ffi/parser.rb +145 -0
  203. data/lib/ffi_yajl/json_gem.rb +121 -0
  204. data/lib/ffi_yajl/parser.rb +23 -0
  205. data/lib/ffi_yajl/version.rb +3 -0
  206. data/lib/libyajl.so +0 -0
  207. data/lib/libyajl.so.2 +0 -0
  208. data/lib/libyajl.so.2.0.5 +0 -0
  209. data/lib/libyajl_s.a +0 -0
  210. data/spec/ffi_yajl/encoder_spec.rb +39 -0
  211. data/spec/ffi_yajl/json_gem_spec.rb +355 -0
  212. data/spec/ffi_yajl/parser_spec.rb +78 -0
  213. data/spec/spec_helper.rb +14 -0
  214. metadata +332 -0
@@ -0,0 +1 @@
1
+ { "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": [ { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML", "markup"] } ] } } }
@@ -0,0 +1,36 @@
1
+ map open '{'
2
+ key: 'glossary'
3
+ map open '{'
4
+ key: 'title'
5
+ string: 'example glossary'
6
+ key: 'GlossDiv'
7
+ map open '{'
8
+ key: 'title'
9
+ string: 'S'
10
+ key: 'GlossList'
11
+ array open '['
12
+ map open '{'
13
+ key: 'ID'
14
+ string: 'SGML'
15
+ key: 'SortAs'
16
+ string: 'SGML'
17
+ key: 'GlossTerm'
18
+ string: 'Standard Generalized Markup Language'
19
+ key: 'Acronym'
20
+ string: 'SGML'
21
+ key: 'Abbrev'
22
+ string: 'ISO 8879:1986'
23
+ key: 'GlossDef'
24
+ string: 'A meta-markup language, used to create markup languages such as DocBook.'
25
+ key: 'GlossSeeAlso'
26
+ array open '['
27
+ string: 'GML'
28
+ string: 'XML'
29
+ string: 'markup'
30
+ array close ']'
31
+ map close '}'
32
+ array close ']'
33
+ map close '}'
34
+ map close '}'
35
+ map close '}'
36
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ [ 0.1e2, 1e1, 3.141569, 10000000000000e-10]
@@ -0,0 +1,7 @@
1
+ array open '['
2
+ double: 10
3
+ double: 10
4
+ double: 3.14157
5
+ double: 1000
6
+ array close ']'
7
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ [0.00011999999999999999, 6E-06, 6E-06, 1E-06, 1E-06]
@@ -0,0 +1,8 @@
1
+ array open '['
2
+ double: 0.00012
3
+ double: 6e-06
4
+ double: 6e-06
5
+ double: 1e-06
6
+ double: 1e-06
7
+ array close ']'
8
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+ array open '['
2
+ array close ']'
3
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ string: ''
2
+ memory leaks: 0
@@ -0,0 +1,4 @@
1
+ ["\u0414\u0430",
2
+ "\u041c\u0443",
3
+ "\u0415\u0431\u0430",
4
+ "\u041c\u0430\u0439\u043a\u0430\u0442\u0430"]
@@ -0,0 +1,7 @@
1
+ array open '['
2
+ string: 'Да'
3
+ string: 'Му'
4
+ string: 'Еба'
5
+ string: 'Майката'
6
+ array close ']'
7
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ "\u0066\u006f\u006f\u0062\u0061\u0072"
@@ -0,0 +1,2 @@
1
+ string: 'foobar'
2
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ false
@@ -0,0 +1,2 @@
1
+ bool: false
2
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+ bool: false
2
+ parse error: trailing garbage
3
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ 2009-10-20@20:38:21.539575
@@ -0,0 +1,3 @@
1
+ integer: 2009
2
+ parse error: trailing garbage
3
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+ null
2
+ parse error: trailing garbage
3
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+ bool: true
2
+ parse error: trailing garbage
3
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ { "U+10ABCD": "􊯍" }
2
+
@@ -0,0 +1,5 @@
1
+ map open '{'
2
+ key: 'U+10ABCD'
3
+ string: '􊯍'
4
+ map close '}'
5
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ 9223372036854775808
@@ -0,0 +1,2 @@
1
+ parse error: integer overflow
2
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+ [ 1,2,3,4,5,6,7,
2
+ 123456789 , -123456789,
3
+ 2147483647, -2147483647 ]
@@ -0,0 +1,14 @@
1
+ array open '['
2
+ integer: 1
3
+ integer: 2
4
+ integer: 3
5
+ integer: 4
6
+ integer: 5
7
+ integer: 6
8
+ integer: 7
9
+ integer: 123456789
10
+ integer: -123456789
11
+ integer: 2147483647
12
+ integer: -2147483647
13
+ array close ']'
14
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ ["Да М� Еба Майката"]
@@ -0,0 +1,3 @@
1
+ array open '['
2
+ lexical error: invalid bytes in UTF8 string.
3
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ string: '?'
2
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ { "bad thing": 01 }
@@ -0,0 +1,5 @@
1
+ map open '{'
2
+ key: 'bad thing'
3
+ integer: 0
4
+ parse error: after key and value, inside map, I expect ',' or '}'
5
+ memory leaks: 0
@@ -0,0 +1,7 @@
1
+ [
2
+ "foo", true,
3
+ true, "blue",
4
+ "baby where are you?", "oh boo hoo!",
5
+ -
6
+ ]
7
+
@@ -0,0 +1,9 @@
1
+ array open '['
2
+ string: 'foo'
3
+ bool: true
4
+ bool: true
5
+ string: 'blue'
6
+ string: 'baby where are you?'
7
+ string: 'oh boo hoo!'
8
+ lexical error: malformed number, a digit is required after the minus sign.
9
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ 123456789
@@ -0,0 +1,2 @@
1
+ integer: 123456789
2
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ -9223372036854775808
@@ -0,0 +1,2 @@
1
+ parse error: integer overflow
2
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ parse error: unallowed token at this point in JSON text
2
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ lexical error: malformed number, a digit is required after the decimal point.
2
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ lexical error: malformed number, a digit is required after the exponent.
2
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+
2
+ {}
3
+ {}
@@ -0,0 +1,4 @@
1
+ map open '{'
2
+ map close '}'
3
+ parse error: trailing garbage
4
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ {"CoreletAPIVersion":2,"CoreletType":"standalone","documentation":"A corelet that provides the capability to upload a folder�s contents into a user�s locker.","functions":[{"documentation":"Displays a dialog box that allows user to select a folder on the local system.","name":"ShowBrowseDialog","parameters":[{"documentation":"The callback function for results.","name":"callback","required":true,"type":"callback"}]},{"documentation":"Uploads all mp3 files in the folder provided.","name":"UploadFolder","parameters":[{"documentation":"The path to upload mp3 files from.","name":"path","required":true,"type":"string"},{"documentation":"The callback function for progress.","name":"callback","required":true,"type":"callback"}]},{"documentation":"Returns the server name to the current locker service.","name":"GetLockerService","parameters":[]},{"documentation":"Changes the name of the locker service.","name":"SetLockerService","parameters":[{"documentation":"The value of the locker service to set active.","name":"LockerService","required":true,"type":"string"}]},{"documentation":"Downloads locker files to the suggested folder.","name":"DownloadFile","parameters":[{"documentation":"The origin path of the locker file.","name":"path","required":true,"type":"string"},{"documentation":"The Window destination path of the locker file.","name":"destination","required":true,"type":"integer"},{"documentation":"The callback function for progress.","name":"callback","required":true,"type":"callback"}]}],"name":"LockerUploader","version":{"major":0,"micro":1,"minor":0},"versionString":"0.0.1"}
@@ -0,0 +1,8 @@
1
+ map open '{'
2
+ key: 'CoreletAPIVersion'
3
+ integer: 2
4
+ key: 'CoreletType'
5
+ string: 'standalone'
6
+ key: 'documentation'
7
+ lexical error: invalid bytes in UTF8 string.
8
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ [ "foo", "bar"
@@ -0,0 +1,5 @@
1
+ array open '['
2
+ string: 'foo'
3
+ string: 'bar'
4
+ parse error: premature EOF
5
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ null
@@ -0,0 +1,2 @@
1
+ null
2
+ memory leaks: 0
@@ -0,0 +1,5 @@
1
+ {
2
+ "boolean, true": true,
3
+ "boolean, false": false,
4
+ "null": null
5
+ }
@@ -0,0 +1,9 @@
1
+ map open '{'
2
+ key: 'boolean, true'
3
+ bool: true
4
+ key: 'boolean, false'
5
+ bool: false
6
+ key: 'null'
7
+ null
8
+ map close '}'
9
+ memory leaks: 0
@@ -0,0 +1,5 @@
1
+ {
2
+ "this": "is",
3
+ "really": "simple",
4
+ "json": "right?"
5
+ }
@@ -0,0 +1,9 @@
1
+ map open '{'
2
+ key: 'this'
3
+ string: 'is'
4
+ key: 'really'
5
+ string: 'simple'
6
+ key: 'json'
7
+ string: 'right?'
8
+ map close '}'
9
+ memory leaks: 0
@@ -0,0 +1,11 @@
1
+ {
2
+ "this": "is", // ignore this
3
+ "really": "simple",
4
+ /* ignore
5
+ this
6
+ too * /
7
+ ** //
8
+ (/
9
+ ******/
10
+ "json": "right?"
11
+ }
@@ -0,0 +1,5 @@
1
+ map open '{'
2
+ key: 'this'
3
+ string: 'is'
4
+ lexical error: probable comment found in input text, comments are not enabled.
5
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ ["\n foo \/ bar \r\f\\\uffff\t\b\"\\ and you can't escape thi\s"]
@@ -0,0 +1,3 @@
1
+ array open '['
2
+ lexical error: inside a string, '\' occurs before a character which it may not.
3
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ "foo foo, blah blah \u0123 \u4567 \u89ab \uc/ef \uABCD \uEFFE bar baz bing"
@@ -0,0 +1,2 @@
1
+ lexical error: invalid (non-hex) character occurs after '\u' inside string.
2
+ memory leaks: 0
@@ -0,0 +1,3 @@
1
+ ["\n foo \/ bar \r\f\\\uffff\t\b\"\\",
2
+ "\"and this string has an escape at the beginning",
3
+ "and this string has no escapes" ]
@@ -0,0 +1,7 @@
1
+ array open '['
2
+ string: '
3
+ foo / bar
4
+ string: '"and this string has an escape at the beginning'
5
+ string: 'and this string has no escapes'
6
+ array close ']'
7
+ memory leaks: 0
@@ -0,0 +1,2 @@
1
+ "la di dah. this is a string, and I can do this, \n, but not this
2
+ "
@@ -0,0 +1,2 @@
1
+ lexical error: invalid character inside string.
2
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ {"matzue": "松江", "asakusa": "浅草"}
@@ -0,0 +1,7 @@
1
+ map open '{'
2
+ key: 'matzue'
3
+ string: '松江'
4
+ key: 'asakusa'
5
+ string: '浅草'
6
+ map close '}'
7
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ true
@@ -0,0 +1,2 @@
1
+ bool: true
2
+ memory leaks: 0
@@ -0,0 +1 @@
1
+ ["Да Му Еба Майката"]
@@ -0,0 +1,4 @@
1
+ array open '['
2
+ string: 'Да Му Еба Майката'
3
+ array close ']'
4
+ memory leaks: 0