ctags.rb 1.0.0 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (323) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +2 -1
  3. data/README.md +49 -0
  4. data/Rakefile +19 -0
  5. data/bench.rb +28 -0
  6. data/ctags.rb.gemspec +1 -1
  7. data/ext/.gitignore +1 -1
  8. data/ext/extconf.rb +30 -6
  9. data/ext/vendor/exuberant-ctags/entry.c +70 -1
  10. data/ext/vendor/exuberant-ctags/main.c +68 -7
  11. data/ext/vendor/exuberant-ctags/options.c +12 -12
  12. data/ext/vendor/exuberant-ctags/options.h +1 -1
  13. data/ext/vendor/exuberant-ctags/parse.c +2 -2
  14. data/ext/vendor/exuberant-ctags/read.c +8 -3
  15. data/ext/vendor/exuberant-ctags/read.h +4 -1
  16. data/ext/vendor/exuberant-ctags/routines.c +31 -8
  17. data/ext/vendor/exuberant-ctags/ruby.c +62 -7
  18. data/ext/vendor/fmemopen/README.md +49 -0
  19. data/ext/vendor/fmemopen/fmemopen.c +92 -0
  20. data/ext/vendor/fmemopen/fmemopen.h +52 -0
  21. data/ext/vendor/jansson-2.5/CHANGES +554 -0
  22. data/ext/vendor/jansson-2.5/LICENSE +19 -0
  23. data/ext/vendor/jansson-2.5/Makefile.am +15 -0
  24. data/ext/vendor/jansson-2.5/Makefile.in +825 -0
  25. data/ext/vendor/jansson-2.5/README.rst +63 -0
  26. data/ext/vendor/jansson-2.5/aclocal.m4 +9674 -0
  27. data/ext/vendor/jansson-2.5/config.guess +1530 -0
  28. data/ext/vendor/jansson-2.5/config.h.in +84 -0
  29. data/ext/vendor/jansson-2.5/config.sub +1782 -0
  30. data/ext/vendor/jansson-2.5/configure +13931 -0
  31. data/ext/vendor/jansson-2.5/configure.ac +57 -0
  32. data/ext/vendor/jansson-2.5/depcomp +708 -0
  33. data/ext/vendor/jansson-2.5/doc/Makefile.am +20 -0
  34. data/ext/vendor/jansson-2.5/doc/Makefile.in +401 -0
  35. data/ext/vendor/jansson-2.5/doc/README +5 -0
  36. data/ext/vendor/jansson-2.5/doc/apiref.rst +1487 -0
  37. data/ext/vendor/jansson-2.5/doc/changes.rst +5 -0
  38. data/ext/vendor/jansson-2.5/doc/conf.py +217 -0
  39. data/ext/vendor/jansson-2.5/doc/conformance.rst +114 -0
  40. data/ext/vendor/jansson-2.5/doc/ext/refcounting.py +59 -0
  41. data/ext/vendor/jansson-2.5/doc/gettingstarted.rst +237 -0
  42. data/ext/vendor/jansson-2.5/doc/github_commits.c +192 -0
  43. data/ext/vendor/jansson-2.5/doc/index.rst +53 -0
  44. data/ext/vendor/jansson-2.5/doc/portability.rst +52 -0
  45. data/ext/vendor/jansson-2.5/doc/tutorial.rst +286 -0
  46. data/ext/vendor/jansson-2.5/doc/upgrading.rst +76 -0
  47. data/ext/vendor/jansson-2.5/install-sh +527 -0
  48. data/ext/vendor/jansson-2.5/jansson.pc.in +10 -0
  49. data/ext/vendor/jansson-2.5/ltmain.sh +9661 -0
  50. data/ext/vendor/jansson-2.5/missing +331 -0
  51. data/ext/vendor/jansson-2.5/src/Makefile.am +24 -0
  52. data/ext/vendor/jansson-2.5/src/Makefile.in +613 -0
  53. data/ext/vendor/jansson-2.5/src/dump.c +456 -0
  54. data/ext/vendor/jansson-2.5/src/error.c +63 -0
  55. data/ext/vendor/jansson-2.5/src/hashtable.c +360 -0
  56. data/ext/vendor/jansson-2.5/src/hashtable.h +180 -0
  57. data/ext/vendor/jansson-2.5/src/jansson.def +63 -0
  58. data/ext/vendor/jansson-2.5/src/jansson.h +281 -0
  59. data/ext/vendor/jansson-2.5/src/jansson_config.h +39 -0
  60. data/ext/vendor/jansson-2.5/src/jansson_config.h.in +39 -0
  61. data/ext/vendor/jansson-2.5/src/jansson_private.h +93 -0
  62. data/ext/vendor/jansson-2.5/src/load.c +1077 -0
  63. data/ext/vendor/jansson-2.5/src/memory.c +56 -0
  64. data/ext/vendor/jansson-2.5/src/pack_unpack.c +762 -0
  65. data/ext/vendor/jansson-2.5/src/strbuffer.c +116 -0
  66. data/ext/vendor/jansson-2.5/src/strbuffer.h +33 -0
  67. data/ext/vendor/jansson-2.5/src/strconv.c +134 -0
  68. data/ext/vendor/jansson-2.5/src/utf.c +190 -0
  69. data/ext/vendor/jansson-2.5/src/utf.h +39 -0
  70. data/ext/vendor/jansson-2.5/src/value.c +950 -0
  71. data/ext/vendor/jansson-2.5/test/Makefile.am +10 -0
  72. data/ext/vendor/jansson-2.5/test/Makefile.in +684 -0
  73. data/ext/vendor/jansson-2.5/test/bin/Makefile.am +5 -0
  74. data/ext/vendor/jansson-2.5/test/bin/Makefile.in +498 -0
  75. data/ext/vendor/jansson-2.5/test/bin/json_process.c +349 -0
  76. data/ext/vendor/jansson-2.5/test/run-suites +50 -0
  77. data/ext/vendor/jansson-2.5/test/scripts/run-tests.sh +100 -0
  78. data/ext/vendor/jansson-2.5/test/scripts/valgrind.sh +35 -0
  79. data/ext/vendor/jansson-2.5/test/suites/Makefile.am +2 -0
  80. data/ext/vendor/jansson-2.5/test/suites/Makefile.in +580 -0
  81. data/ext/vendor/jansson-2.5/test/suites/api/Makefile.am +34 -0
  82. data/ext/vendor/jansson-2.5/test/suites/api/Makefile.in +632 -0
  83. data/ext/vendor/jansson-2.5/test/suites/api/check-exports +23 -0
  84. data/ext/vendor/jansson-2.5/test/suites/api/run +36 -0
  85. data/ext/vendor/jansson-2.5/test/suites/api/test_array.c +432 -0
  86. data/ext/vendor/jansson-2.5/test/suites/api/test_copy.c +318 -0
  87. data/ext/vendor/jansson-2.5/test/suites/api/test_dump.c +190 -0
  88. data/ext/vendor/jansson-2.5/test/suites/api/test_dump_callback.c +81 -0
  89. data/ext/vendor/jansson-2.5/test/suites/api/test_equal.c +189 -0
  90. data/ext/vendor/jansson-2.5/test/suites/api/test_load.c +166 -0
  91. data/ext/vendor/jansson-2.5/test/suites/api/test_load_callback.c +75 -0
  92. data/ext/vendor/jansson-2.5/test/suites/api/test_loadb.c +36 -0
  93. data/ext/vendor/jansson-2.5/test/suites/api/test_memory_funcs.c +82 -0
  94. data/ext/vendor/jansson-2.5/test/suites/api/test_number.c +73 -0
  95. data/ext/vendor/jansson-2.5/test/suites/api/test_object.c +511 -0
  96. data/ext/vendor/jansson-2.5/test/suites/api/test_pack.c +283 -0
  97. data/ext/vendor/jansson-2.5/test/suites/api/test_simple.c +199 -0
  98. data/ext/vendor/jansson-2.5/test/suites/api/test_unpack.c +373 -0
  99. data/ext/vendor/jansson-2.5/test/suites/api/util.h +74 -0
  100. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/encoded-surrogate-half/error +2 -0
  101. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/encoded-surrogate-half/input +1 -0
  102. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-after-backslash/error +2 -0
  103. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-after-backslash/input +1 -0
  104. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-array/error +2 -0
  105. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-array/input +1 -0
  106. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/error +2 -0
  107. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/input +1 -0
  108. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-escape/error +2 -0
  109. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-escape/input +1 -0
  110. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-exponent/error +2 -0
  111. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-exponent/input +1 -0
  112. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-identifier/error +2 -0
  113. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-identifier/input +1 -0
  114. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-int/error +2 -0
  115. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-int/input +1 -0
  116. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/error +2 -0
  117. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/input +1 -0
  118. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-string/error +2 -0
  119. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/invalid-utf-8-in-string/input +1 -0
  120. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/lone-invalid-utf-8/error +2 -0
  121. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/lone-invalid-utf-8/input +1 -0
  122. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/lone-utf-8-continuation-byte/error +2 -0
  123. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/lone-utf-8-continuation-byte/input +1 -0
  124. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/not-in-unicode-range/error +2 -0
  125. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/not-in-unicode-range/input +1 -0
  126. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/overlong-3-byte-encoding/error +2 -0
  127. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/overlong-3-byte-encoding/input +1 -0
  128. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/overlong-4-byte-encoding/error +2 -0
  129. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/overlong-4-byte-encoding/input +1 -0
  130. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/overlong-ascii-encoding/error +2 -0
  131. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/overlong-ascii-encoding/input +1 -0
  132. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/restricted-utf-8/error +2 -0
  133. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/restricted-utf-8/input +1 -0
  134. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/run +27 -0
  135. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/truncated-utf-8/error +2 -0
  136. data/ext/vendor/jansson-2.5/test/suites/invalid-unicode/truncated-utf-8/input +1 -0
  137. data/ext/vendor/jansson-2.5/test/suites/invalid/apostrophe/error +2 -0
  138. data/ext/vendor/jansson-2.5/test/suites/invalid/apostrophe/input +1 -0
  139. data/ext/vendor/jansson-2.5/test/suites/invalid/ascii-unicode-identifier/error +2 -0
  140. data/ext/vendor/jansson-2.5/test/suites/invalid/ascii-unicode-identifier/input +1 -0
  141. data/ext/vendor/jansson-2.5/test/suites/invalid/brace-comma/error +2 -0
  142. data/ext/vendor/jansson-2.5/test/suites/invalid/brace-comma/input +1 -0
  143. data/ext/vendor/jansson-2.5/test/suites/invalid/bracket-comma/error +2 -0
  144. data/ext/vendor/jansson-2.5/test/suites/invalid/bracket-comma/input +1 -0
  145. data/ext/vendor/jansson-2.5/test/suites/invalid/bracket-one-comma/error.normal +2 -0
  146. data/ext/vendor/jansson-2.5/test/suites/invalid/bracket-one-comma/error.strip +2 -0
  147. data/ext/vendor/jansson-2.5/test/suites/invalid/bracket-one-comma/input +1 -0
  148. data/ext/vendor/jansson-2.5/test/suites/invalid/empty/error +2 -0
  149. data/ext/vendor/jansson-2.5/test/suites/invalid/empty/input +0 -0
  150. data/ext/vendor/jansson-2.5/test/suites/invalid/escaped-null-byte-in-string/error +2 -0
  151. data/ext/vendor/jansson-2.5/test/suites/invalid/escaped-null-byte-in-string/input +1 -0
  152. data/ext/vendor/jansson-2.5/test/suites/invalid/extra-comma-in-array/error +2 -0
  153. data/ext/vendor/jansson-2.5/test/suites/invalid/extra-comma-in-array/input +1 -0
  154. data/ext/vendor/jansson-2.5/test/suites/invalid/extra-comma-in-multiline-array/error +2 -0
  155. data/ext/vendor/jansson-2.5/test/suites/invalid/extra-comma-in-multiline-array/input +6 -0
  156. data/ext/vendor/jansson-2.5/test/suites/invalid/garbage-after-newline/error +2 -0
  157. data/ext/vendor/jansson-2.5/test/suites/invalid/garbage-after-newline/input +2 -0
  158. data/ext/vendor/jansson-2.5/test/suites/invalid/garbage-at-the-end/error +2 -0
  159. data/ext/vendor/jansson-2.5/test/suites/invalid/garbage-at-the-end/input +1 -0
  160. data/ext/vendor/jansson-2.5/test/suites/invalid/integer-starting-with-zero/error +2 -0
  161. data/ext/vendor/jansson-2.5/test/suites/invalid/integer-starting-with-zero/input +1 -0
  162. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-escape/error +2 -0
  163. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-escape/input +1 -0
  164. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-identifier/error +2 -0
  165. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-identifier/input +1 -0
  166. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-negative-integer/error +2 -0
  167. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-negative-integer/input +1 -0
  168. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-negative-real/error +2 -0
  169. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-negative-real/input +1 -0
  170. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-second-surrogate/error +2 -0
  171. data/ext/vendor/jansson-2.5/test/suites/invalid/invalid-second-surrogate/input +1 -0
  172. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-open-brace/error.normal +2 -0
  173. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-open-brace/error.strip +2 -0
  174. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-open-brace/input +1 -0
  175. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-open-bracket/error.normal +2 -0
  176. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-open-bracket/error.strip +2 -0
  177. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-open-bracket/input +1 -0
  178. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-second-surrogate/error +2 -0
  179. data/ext/vendor/jansson-2.5/test/suites/invalid/lone-second-surrogate/input +1 -0
  180. data/ext/vendor/jansson-2.5/test/suites/invalid/minus-sign-without-number/error +2 -0
  181. data/ext/vendor/jansson-2.5/test/suites/invalid/minus-sign-without-number/input +1 -0
  182. data/ext/vendor/jansson-2.5/test/suites/invalid/negative-integer-starting-with-zero/error +2 -0
  183. data/ext/vendor/jansson-2.5/test/suites/invalid/negative-integer-starting-with-zero/input +1 -0
  184. data/ext/vendor/jansson-2.5/test/suites/invalid/null-byte-in-string/error +2 -0
  185. data/ext/vendor/jansson-2.5/test/suites/invalid/null-byte-in-string/input +0 -0
  186. data/ext/vendor/jansson-2.5/test/suites/invalid/null-byte-in-string/nostrip +2 -0
  187. data/ext/vendor/jansson-2.5/test/suites/invalid/null-byte-outside-string/error +2 -0
  188. data/ext/vendor/jansson-2.5/test/suites/invalid/null-byte-outside-string/input +0 -0
  189. data/ext/vendor/jansson-2.5/test/suites/invalid/null-byte-outside-string/nostrip +2 -0
  190. data/ext/vendor/jansson-2.5/test/suites/invalid/null/error +2 -0
  191. data/ext/vendor/jansson-2.5/test/suites/invalid/null/input +1 -0
  192. data/ext/vendor/jansson-2.5/test/suites/invalid/object-apostrophes/error +2 -0
  193. data/ext/vendor/jansson-2.5/test/suites/invalid/object-apostrophes/input +1 -0
  194. data/ext/vendor/jansson-2.5/test/suites/invalid/object-garbage-at-end/error +2 -0
  195. data/ext/vendor/jansson-2.5/test/suites/invalid/object-garbage-at-end/input +1 -0
  196. data/ext/vendor/jansson-2.5/test/suites/invalid/object-in-unterminated-array/error.normal +2 -0
  197. data/ext/vendor/jansson-2.5/test/suites/invalid/object-in-unterminated-array/error.strip +2 -0
  198. data/ext/vendor/jansson-2.5/test/suites/invalid/object-in-unterminated-array/input +1 -0
  199. data/ext/vendor/jansson-2.5/test/suites/invalid/object-no-colon/error.normal +2 -0
  200. data/ext/vendor/jansson-2.5/test/suites/invalid/object-no-colon/error.strip +2 -0
  201. data/ext/vendor/jansson-2.5/test/suites/invalid/object-no-colon/input +1 -0
  202. data/ext/vendor/jansson-2.5/test/suites/invalid/object-no-value/error.normal +2 -0
  203. data/ext/vendor/jansson-2.5/test/suites/invalid/object-no-value/error.strip +2 -0
  204. data/ext/vendor/jansson-2.5/test/suites/invalid/object-no-value/input +1 -0
  205. data/ext/vendor/jansson-2.5/test/suites/invalid/object-unterminated-value/error.normal +2 -0
  206. data/ext/vendor/jansson-2.5/test/suites/invalid/object-unterminated-value/error.strip +2 -0
  207. data/ext/vendor/jansson-2.5/test/suites/invalid/object-unterminated-value/input +1 -0
  208. data/ext/vendor/jansson-2.5/test/suites/invalid/real-garbage-after-e/error +2 -0
  209. data/ext/vendor/jansson-2.5/test/suites/invalid/real-garbage-after-e/input +1 -0
  210. data/ext/vendor/jansson-2.5/test/suites/invalid/real-negative-overflow/error +2 -0
  211. data/ext/vendor/jansson-2.5/test/suites/invalid/real-negative-overflow/input +1 -0
  212. data/ext/vendor/jansson-2.5/test/suites/invalid/real-positive-overflow/error +2 -0
  213. data/ext/vendor/jansson-2.5/test/suites/invalid/real-positive-overflow/input +1 -0
  214. data/ext/vendor/jansson-2.5/test/suites/invalid/real-truncated-at-e/error +2 -0
  215. data/ext/vendor/jansson-2.5/test/suites/invalid/real-truncated-at-e/input +1 -0
  216. data/ext/vendor/jansson-2.5/test/suites/invalid/real-truncated-at-point/error +2 -0
  217. data/ext/vendor/jansson-2.5/test/suites/invalid/real-truncated-at-point/input +1 -0
  218. data/ext/vendor/jansson-2.5/test/suites/invalid/run +57 -0
  219. data/ext/vendor/jansson-2.5/test/suites/invalid/tab-character-in-string/error +2 -0
  220. data/ext/vendor/jansson-2.5/test/suites/invalid/tab-character-in-string/input +1 -0
  221. data/ext/vendor/jansson-2.5/test/suites/invalid/too-big-negative-integer/error +2 -0
  222. data/ext/vendor/jansson-2.5/test/suites/invalid/too-big-negative-integer/input +1 -0
  223. data/ext/vendor/jansson-2.5/test/suites/invalid/too-big-positive-integer/error +2 -0
  224. data/ext/vendor/jansson-2.5/test/suites/invalid/too-big-positive-integer/input +1 -0
  225. data/ext/vendor/jansson-2.5/test/suites/invalid/truncated-unicode-surrogate/error +2 -0
  226. data/ext/vendor/jansson-2.5/test/suites/invalid/truncated-unicode-surrogate/input +1 -0
  227. data/ext/vendor/jansson-2.5/test/suites/invalid/unicode-identifier/error +2 -0
  228. data/ext/vendor/jansson-2.5/test/suites/invalid/unicode-identifier/input +1 -0
  229. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-array-and-object/error.normal +2 -0
  230. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-array-and-object/error.strip +2 -0
  231. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-array-and-object/input +1 -0
  232. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-array/error.normal +2 -0
  233. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-array/error.strip +2 -0
  234. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-array/input +1 -0
  235. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-empty-key/error.normal +2 -0
  236. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-empty-key/error.strip +2 -0
  237. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-empty-key/input +1 -0
  238. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-key/error.normal +2 -0
  239. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-key/error.strip +2 -0
  240. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-key/input +1 -0
  241. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-object-and-array/error +2 -0
  242. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-object-and-array/input +1 -0
  243. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-string/error.normal +2 -0
  244. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-string/error.strip +2 -0
  245. data/ext/vendor/jansson-2.5/test/suites/invalid/unterminated-string/input +1 -0
  246. data/ext/vendor/jansson-2.5/test/suites/valid/complex-array/env +1 -0
  247. data/ext/vendor/jansson-2.5/test/suites/valid/complex-array/input +5 -0
  248. data/ext/vendor/jansson-2.5/test/suites/valid/complex-array/output +1 -0
  249. data/ext/vendor/jansson-2.5/test/suites/valid/empty-array/input +1 -0
  250. data/ext/vendor/jansson-2.5/test/suites/valid/empty-array/output +1 -0
  251. data/ext/vendor/jansson-2.5/test/suites/valid/empty-object-in-array/input +1 -0
  252. data/ext/vendor/jansson-2.5/test/suites/valid/empty-object-in-array/output +1 -0
  253. data/ext/vendor/jansson-2.5/test/suites/valid/empty-object/input +1 -0
  254. data/ext/vendor/jansson-2.5/test/suites/valid/empty-object/output +1 -0
  255. data/ext/vendor/jansson-2.5/test/suites/valid/empty-string/input +1 -0
  256. data/ext/vendor/jansson-2.5/test/suites/valid/empty-string/output +1 -0
  257. data/ext/vendor/jansson-2.5/test/suites/valid/escaped-utf-control-char/input +1 -0
  258. data/ext/vendor/jansson-2.5/test/suites/valid/escaped-utf-control-char/output +1 -0
  259. data/ext/vendor/jansson-2.5/test/suites/valid/false/input +1 -0
  260. data/ext/vendor/jansson-2.5/test/suites/valid/false/output +1 -0
  261. data/ext/vendor/jansson-2.5/test/suites/valid/negative-int/input +1 -0
  262. data/ext/vendor/jansson-2.5/test/suites/valid/negative-int/output +1 -0
  263. data/ext/vendor/jansson-2.5/test/suites/valid/negative-one/input +1 -0
  264. data/ext/vendor/jansson-2.5/test/suites/valid/negative-one/output +1 -0
  265. data/ext/vendor/jansson-2.5/test/suites/valid/negative-zero/input +1 -0
  266. data/ext/vendor/jansson-2.5/test/suites/valid/negative-zero/output +1 -0
  267. data/ext/vendor/jansson-2.5/test/suites/valid/null/input +1 -0
  268. data/ext/vendor/jansson-2.5/test/suites/valid/null/output +1 -0
  269. data/ext/vendor/jansson-2.5/test/suites/valid/one-byte-utf-8/input +1 -0
  270. data/ext/vendor/jansson-2.5/test/suites/valid/one-byte-utf-8/output +1 -0
  271. data/ext/vendor/jansson-2.5/test/suites/valid/real-capital-e-negative-exponent/input +1 -0
  272. data/ext/vendor/jansson-2.5/test/suites/valid/real-capital-e-negative-exponent/output +1 -0
  273. data/ext/vendor/jansson-2.5/test/suites/valid/real-capital-e-positive-exponent/input +1 -0
  274. data/ext/vendor/jansson-2.5/test/suites/valid/real-capital-e-positive-exponent/output +1 -0
  275. data/ext/vendor/jansson-2.5/test/suites/valid/real-capital-e/input +1 -0
  276. data/ext/vendor/jansson-2.5/test/suites/valid/real-capital-e/output +1 -0
  277. data/ext/vendor/jansson-2.5/test/suites/valid/real-exponent/input +1 -0
  278. data/ext/vendor/jansson-2.5/test/suites/valid/real-exponent/output +1 -0
  279. data/ext/vendor/jansson-2.5/test/suites/valid/real-fraction-exponent/input +1 -0
  280. data/ext/vendor/jansson-2.5/test/suites/valid/real-fraction-exponent/output +1 -0
  281. data/ext/vendor/jansson-2.5/test/suites/valid/real-negative-exponent/input +1 -0
  282. data/ext/vendor/jansson-2.5/test/suites/valid/real-negative-exponent/output +1 -0
  283. data/ext/vendor/jansson-2.5/test/suites/valid/real-positive-exponent/input +1 -0
  284. data/ext/vendor/jansson-2.5/test/suites/valid/real-positive-exponent/output +1 -0
  285. data/ext/vendor/jansson-2.5/test/suites/valid/real-underflow/input +1 -0
  286. data/ext/vendor/jansson-2.5/test/suites/valid/real-underflow/output +1 -0
  287. data/ext/vendor/jansson-2.5/test/suites/valid/run +56 -0
  288. data/ext/vendor/jansson-2.5/test/suites/valid/short-string/input +1 -0
  289. data/ext/vendor/jansson-2.5/test/suites/valid/short-string/output +1 -0
  290. data/ext/vendor/jansson-2.5/test/suites/valid/simple-ascii-string/input +1 -0
  291. data/ext/vendor/jansson-2.5/test/suites/valid/simple-ascii-string/output +1 -0
  292. data/ext/vendor/jansson-2.5/test/suites/valid/simple-int-0/input +1 -0
  293. data/ext/vendor/jansson-2.5/test/suites/valid/simple-int-0/output +1 -0
  294. data/ext/vendor/jansson-2.5/test/suites/valid/simple-int-1/input +1 -0
  295. data/ext/vendor/jansson-2.5/test/suites/valid/simple-int-1/output +1 -0
  296. data/ext/vendor/jansson-2.5/test/suites/valid/simple-int-123/input +1 -0
  297. data/ext/vendor/jansson-2.5/test/suites/valid/simple-int-123/output +1 -0
  298. data/ext/vendor/jansson-2.5/test/suites/valid/simple-object/input +1 -0
  299. data/ext/vendor/jansson-2.5/test/suites/valid/simple-object/output +1 -0
  300. data/ext/vendor/jansson-2.5/test/suites/valid/simple-real/input +1 -0
  301. data/ext/vendor/jansson-2.5/test/suites/valid/simple-real/output +1 -0
  302. data/ext/vendor/jansson-2.5/test/suites/valid/string-escapes/input +1 -0
  303. data/ext/vendor/jansson-2.5/test/suites/valid/string-escapes/output +1 -0
  304. data/ext/vendor/jansson-2.5/test/suites/valid/three-byte-utf-8/input +1 -0
  305. data/ext/vendor/jansson-2.5/test/suites/valid/three-byte-utf-8/output +1 -0
  306. data/ext/vendor/jansson-2.5/test/suites/valid/true/input +1 -0
  307. data/ext/vendor/jansson-2.5/test/suites/valid/true/output +1 -0
  308. data/ext/vendor/jansson-2.5/test/suites/valid/two-byte-utf-8/input +1 -0
  309. data/ext/vendor/jansson-2.5/test/suites/valid/two-byte-utf-8/output +1 -0
  310. data/ext/vendor/jansson-2.5/test/suites/valid/utf-8-string/input +1 -0
  311. data/ext/vendor/jansson-2.5/test/suites/valid/utf-8-string/output +1 -0
  312. data/ext/vendor/jansson-2.5/test/suites/valid/utf-surrogate-four-byte-encoding/input +1 -0
  313. data/ext/vendor/jansson-2.5/test/suites/valid/utf-surrogate-four-byte-encoding/output +1 -0
  314. data/ext/vendor/jansson-2.5/win32/jansson_config.h +39 -0
  315. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.sln +20 -0
  316. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.vcxproj +108 -0
  317. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.vcxproj.filters +69 -0
  318. data/ext/vendor/jansson-2.5/win32/vs2010/jansson.vcxproj.user +3 -0
  319. data/lib/ctags.cnf +2 -0
  320. data/lib/ctags/exuberant.rb +129 -17
  321. data/lib/ctags/version.rb +1 -1
  322. data/test/test_ctags.rb +14 -7
  323. metadata +350 -69
@@ -0,0 +1,23 @@
1
+ #!/bin/sh
2
+ #
3
+ # This test checks that libjansson.so exports the correct symbols.
4
+ #
5
+
6
+ SOFILE="../src/.libs/libjansson.so"
7
+
8
+ # The list of symbols, which the shared object should export, is read
9
+ # from the def file, which is used in Windows builds
10
+ grep 'json_' $top_srcdir/src/jansson.def \
11
+ | sed -e 's/ //g' \
12
+ | sort \
13
+ >$test_log/exports
14
+
15
+ nm -D $SOFILE >/dev/null >$test_log/symbols 2>/dev/null \
16
+ || exit 77 # Skip if "nm -D" doesn't seem to work
17
+
18
+ grep ' [DT] ' $test_log/symbols | cut -d' ' -f3 | grep -v '^_' | sort >$test_log/output
19
+
20
+ if ! cmp -s $test_log/exports $test_log/output; then
21
+ diff -u $test_log/exports $test_log/output >&2
22
+ exit 1
23
+ fi
@@ -0,0 +1,36 @@
1
+ #!/bin/sh
2
+ #
3
+ # Copyright (c) 2009-2013 Petri Lehtinen <petri@digip.org>
4
+ #
5
+ # Jansson is free software; you can redistribute it and/or modify
6
+ # it under the terms of the MIT license. See LICENSE for details.
7
+
8
+ is_test() {
9
+ case "$test_name" in
10
+ *.c|check-exports)
11
+ return 0
12
+ ;;
13
+ *)
14
+ return 1
15
+ ;;
16
+ esac
17
+ }
18
+
19
+ run_test() {
20
+ if [ "$test_name" = "check-exports" ]; then
21
+ test_log=$test_log $test_path >$test_log/stdout 2>$test_log/stderr
22
+ else
23
+ $test_runner $suite_builddir/${test_name%.c} \
24
+ >$test_log/stdout \
25
+ 2>$test_log/stderr \
26
+ || return 1
27
+ valgrind_check $test_log/stderr || return 1
28
+ fi
29
+ }
30
+
31
+ show_error() {
32
+ valgrind_show_error && return
33
+ cat $test_log/stderr
34
+ }
35
+
36
+ . $top_srcdir/test/scripts/run-tests.sh
@@ -0,0 +1,432 @@
1
+ /*
2
+ * Copyright (c) 2009-2013 Petri Lehtinen <petri@digip.org>
3
+ *
4
+ * Jansson is free software; you can redistribute it and/or modify
5
+ * it under the terms of the MIT license. See LICENSE for details.
6
+ */
7
+
8
+ #include <jansson.h>
9
+ #include "util.h"
10
+
11
+ static void test_misc(void)
12
+ {
13
+ json_t *array, *five, *seven, *value;
14
+ size_t i;
15
+
16
+ array = json_array();
17
+ five = json_integer(5);
18
+ seven = json_integer(7);
19
+
20
+ if(!array)
21
+ fail("unable to create array");
22
+ if(!five || !seven)
23
+ fail("unable to create integer");
24
+
25
+ if(json_array_size(array) != 0)
26
+ fail("empty array has nonzero size");
27
+
28
+ if(!json_array_append(array, NULL))
29
+ fail("able to append NULL");
30
+
31
+ if(json_array_append(array, five))
32
+ fail("unable to append");
33
+
34
+ if(json_array_size(array) != 1)
35
+ fail("wrong array size");
36
+
37
+ value = json_array_get(array, 0);
38
+ if(!value)
39
+ fail("unable to get item");
40
+ if(value != five)
41
+ fail("got wrong value");
42
+
43
+ if(json_array_append(array, seven))
44
+ fail("unable to append value");
45
+
46
+ if(json_array_size(array) != 2)
47
+ fail("wrong array size");
48
+
49
+ value = json_array_get(array, 1);
50
+ if(!value)
51
+ fail("unable to get item");
52
+ if(value != seven)
53
+ fail("got wrong value");
54
+
55
+ if(json_array_set(array, 0, seven))
56
+ fail("unable to set value");
57
+
58
+ if(!json_array_set(array, 0, NULL))
59
+ fail("able to set NULL");
60
+
61
+ if(json_array_size(array) != 2)
62
+ fail("wrong array size");
63
+
64
+ value = json_array_get(array, 0);
65
+ if(!value)
66
+ fail("unable to get item");
67
+ if(value != seven)
68
+ fail("got wrong value");
69
+
70
+ if(json_array_get(array, 2) != NULL)
71
+ fail("able to get value out of bounds");
72
+
73
+ if(!json_array_set(array, 2, seven))
74
+ fail("able to set value out of bounds");
75
+
76
+ for(i = 2; i < 30; i++) {
77
+ if(json_array_append(array, seven))
78
+ fail("unable to append value");
79
+
80
+ if(json_array_size(array) != i + 1)
81
+ fail("wrong array size");
82
+ }
83
+
84
+ for(i = 0; i < 30; i++) {
85
+ value = json_array_get(array, i);
86
+ if(!value)
87
+ fail("unable to get item");
88
+ if(value != seven)
89
+ fail("got wrong value");
90
+ }
91
+
92
+ if(json_array_set_new(array, 15, json_integer(123)))
93
+ fail("unable to set new value");
94
+
95
+ value = json_array_get(array, 15);
96
+ if(!json_is_integer(value) || json_integer_value(value) != 123)
97
+ fail("json_array_set_new works incorrectly");
98
+
99
+ if(!json_array_set_new(array, 15, NULL))
100
+ fail("able to set_new NULL value");
101
+
102
+ if(json_array_append_new(array, json_integer(321)))
103
+ fail("unable to append new value");
104
+
105
+ value = json_array_get(array, json_array_size(array) - 1);
106
+ if(!json_is_integer(value) || json_integer_value(value) != 321)
107
+ fail("json_array_append_new works incorrectly");
108
+
109
+ if(!json_array_append_new(array, NULL))
110
+ fail("able to append_new NULL value");
111
+
112
+ json_decref(five);
113
+ json_decref(seven);
114
+ json_decref(array);
115
+ }
116
+
117
+ static void test_insert(void)
118
+ {
119
+ json_t *array, *five, *seven, *eleven, *value;
120
+ int i;
121
+
122
+ array = json_array();
123
+ five = json_integer(5);
124
+ seven = json_integer(7);
125
+ eleven = json_integer(11);
126
+
127
+ if(!array)
128
+ fail("unable to create array");
129
+ if(!five || !seven || !eleven)
130
+ fail("unable to create integer");
131
+
132
+
133
+ if(!json_array_insert(array, 1, five))
134
+ fail("able to insert value out of bounds");
135
+
136
+
137
+ if(json_array_insert(array, 0, five))
138
+ fail("unable to insert value in an empty array");
139
+
140
+ if(json_array_get(array, 0) != five)
141
+ fail("json_array_insert works incorrectly");
142
+
143
+ if(json_array_size(array) != 1)
144
+ fail("array size is invalid after insertion");
145
+
146
+
147
+ if(json_array_insert(array, 1, seven))
148
+ fail("unable to insert value at the end of an array");
149
+
150
+ if(json_array_get(array, 0) != five)
151
+ fail("json_array_insert works incorrectly");
152
+
153
+ if(json_array_get(array, 1) != seven)
154
+ fail("json_array_insert works incorrectly");
155
+
156
+ if(json_array_size(array) != 2)
157
+ fail("array size is invalid after insertion");
158
+
159
+
160
+ if(json_array_insert(array, 1, eleven))
161
+ fail("unable to insert value in the middle of an array");
162
+
163
+ if(json_array_get(array, 0) != five)
164
+ fail("json_array_insert works incorrectly");
165
+
166
+ if(json_array_get(array, 1) != eleven)
167
+ fail("json_array_insert works incorrectly");
168
+
169
+ if(json_array_get(array, 2) != seven)
170
+ fail("json_array_insert works incorrectly");
171
+
172
+ if(json_array_size(array) != 3)
173
+ fail("array size is invalid after insertion");
174
+
175
+
176
+ if(json_array_insert_new(array, 2, json_integer(123)))
177
+ fail("unable to insert value in the middle of an array");
178
+
179
+ value = json_array_get(array, 2);
180
+ if(!json_is_integer(value) || json_integer_value(value) != 123)
181
+ fail("json_array_insert_new works incorrectly");
182
+
183
+ if(json_array_size(array) != 4)
184
+ fail("array size is invalid after insertion");
185
+
186
+
187
+ for(i = 0; i < 20; i++) {
188
+ if(json_array_insert(array, 0, seven))
189
+ fail("unable to insert value at the begining of an array");
190
+ }
191
+
192
+ for(i = 0; i < 20; i++) {
193
+ if(json_array_get(array, i) != seven)
194
+ fail("json_aray_insert works incorrectly");
195
+ }
196
+
197
+ if(json_array_size(array) != 24)
198
+ fail("array size is invalid after loop insertion");
199
+
200
+ json_decref(five);
201
+ json_decref(seven);
202
+ json_decref(eleven);
203
+ json_decref(array);
204
+ }
205
+
206
+ static void test_remove(void)
207
+ {
208
+ json_t *array, *five, *seven;
209
+ int i;
210
+
211
+ array = json_array();
212
+ five = json_integer(5);
213
+ seven = json_integer(7);
214
+
215
+ if(!array)
216
+ fail("unable to create array");
217
+ if(!five)
218
+ fail("unable to create integer");
219
+ if(!seven)
220
+ fail("unable to create integer");
221
+
222
+
223
+ if(!json_array_remove(array, 0))
224
+ fail("able to remove an unexisting index");
225
+
226
+
227
+ if(json_array_append(array, five))
228
+ fail("unable to append");
229
+
230
+ if(!json_array_remove(array, 1))
231
+ fail("able to remove an unexisting index");
232
+
233
+ if(json_array_remove(array, 0))
234
+ fail("unable to remove");
235
+
236
+ if(json_array_size(array) != 0)
237
+ fail("array size is invalid after removing");
238
+
239
+
240
+ if(json_array_append(array, five) ||
241
+ json_array_append(array, seven) ||
242
+ json_array_append(array, five) ||
243
+ json_array_append(array, seven))
244
+ fail("unable to append");
245
+
246
+ if(json_array_remove(array, 2))
247
+ fail("unable to remove");
248
+
249
+ if(json_array_size(array) != 3)
250
+ fail("array size is invalid after removing");
251
+
252
+ if(json_array_get(array, 0) != five ||
253
+ json_array_get(array, 1) != seven ||
254
+ json_array_get(array, 2) != seven)
255
+ fail("remove works incorrectly");
256
+
257
+ json_decref(array);
258
+
259
+ array = json_array();
260
+ for(i = 0; i < 4; i++) {
261
+ json_array_append(array, five);
262
+ json_array_append(array, seven);
263
+ }
264
+ if(json_array_size(array) != 8)
265
+ fail("unable to append 8 items to array");
266
+
267
+ /* Remove an element from a "full" array. */
268
+ json_array_remove(array, 5);
269
+
270
+ json_decref(five);
271
+ json_decref(seven);
272
+ json_decref(array);
273
+ }
274
+
275
+ static void test_clear(void)
276
+ {
277
+ json_t *array, *five, *seven;
278
+ int i;
279
+
280
+ array = json_array();
281
+ five = json_integer(5);
282
+ seven = json_integer(7);
283
+
284
+ if(!array)
285
+ fail("unable to create array");
286
+ if(!five || !seven)
287
+ fail("unable to create integer");
288
+
289
+ for(i = 0; i < 10; i++) {
290
+ if(json_array_append(array, five))
291
+ fail("unable to append");
292
+ }
293
+ for(i = 0; i < 10; i++) {
294
+ if(json_array_append(array, seven))
295
+ fail("unable to append");
296
+ }
297
+
298
+ if(json_array_size(array) != 20)
299
+ fail("array size is invalid after appending");
300
+
301
+ if(json_array_clear(array))
302
+ fail("unable to clear");
303
+
304
+ if(json_array_size(array) != 0)
305
+ fail("array size is invalid after clearing");
306
+
307
+ json_decref(five);
308
+ json_decref(seven);
309
+ json_decref(array);
310
+ }
311
+
312
+ static void test_extend(void)
313
+ {
314
+ json_t *array1, *array2, *five, *seven;
315
+ int i;
316
+
317
+ array1 = json_array();
318
+ array2 = json_array();
319
+ five = json_integer(5);
320
+ seven = json_integer(7);
321
+
322
+ if(!array1 || !array2)
323
+ fail("unable to create array");
324
+ if(!five || !seven)
325
+ fail("unable to create integer");
326
+
327
+ for(i = 0; i < 10; i++) {
328
+ if(json_array_append(array1, five))
329
+ fail("unable to append");
330
+ }
331
+ for(i = 0; i < 10; i++) {
332
+ if(json_array_append(array2, seven))
333
+ fail("unable to append");
334
+ }
335
+
336
+ if(json_array_size(array1) != 10 || json_array_size(array2) != 10)
337
+ fail("array size is invalid after appending");
338
+
339
+ if(json_array_extend(array1, array2))
340
+ fail("unable to extend");
341
+
342
+ for(i = 0; i < 10; i++) {
343
+ if(json_array_get(array1, i) != five)
344
+ fail("invalid array contents after extending");
345
+ }
346
+ for(i = 10; i < 20; i++) {
347
+ if(json_array_get(array1, i) != seven)
348
+ fail("invalid array contents after extending");
349
+ }
350
+
351
+ json_decref(five);
352
+ json_decref(seven);
353
+ json_decref(array1);
354
+ json_decref(array2);
355
+ }
356
+
357
+ static void test_circular()
358
+ {
359
+ json_t *array1, *array2;
360
+
361
+ /* the simple cases are checked */
362
+
363
+ array1 = json_array();
364
+ if(!array1)
365
+ fail("unable to create array");
366
+
367
+ if(json_array_append(array1, array1) == 0)
368
+ fail("able to append self");
369
+
370
+ if(json_array_insert(array1, 0, array1) == 0)
371
+ fail("able to insert self");
372
+
373
+ if(json_array_append_new(array1, json_true()))
374
+ fail("failed to append true");
375
+
376
+ if(json_array_set(array1, 0, array1) == 0)
377
+ fail("able to set self");
378
+
379
+ json_decref(array1);
380
+
381
+
382
+ /* create circular references */
383
+
384
+ array1 = json_array();
385
+ array2 = json_array();
386
+ if(!array1 || !array2)
387
+ fail("unable to create array");
388
+
389
+ if(json_array_append(array1, array2) ||
390
+ json_array_append(array2, array1))
391
+ fail("unable to append");
392
+
393
+ /* circularity is detected when dumping */
394
+ if(json_dumps(array1, 0) != NULL)
395
+ fail("able to dump circulars");
396
+
397
+ /* decref twice to deal with the circular references */
398
+ json_decref(array1);
399
+ json_decref(array2);
400
+ json_decref(array1);
401
+ }
402
+
403
+ static void test_array_foreach()
404
+ {
405
+ size_t index;
406
+ json_t *array1, *array2, *value;
407
+
408
+ array1 = json_pack("[sisisi]", "foo", 1, "bar", 2, "baz", 3);
409
+ array2 = json_array();
410
+
411
+ json_array_foreach(array1, index, value) {
412
+ json_array_append(array2, value);
413
+ }
414
+
415
+ if(!json_equal(array1, array2))
416
+ fail("json_array_foreach failed to iterate all elements");
417
+
418
+ json_decref(array1);
419
+ json_decref(array2);
420
+ }
421
+
422
+
423
+ static void run_tests()
424
+ {
425
+ test_misc();
426
+ test_insert();
427
+ test_remove();
428
+ test_clear();
429
+ test_extend();
430
+ test_circular();
431
+ test_array_foreach();
432
+ }