rj_schema 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. checksums.yaml +4 -4
  2. metadata +3 -615
  3. data/ext/rj_schema/rapidjson/CHANGELOG.md +0 -158
  4. data/ext/rj_schema/rapidjson/CMakeLists.txt +0 -221
  5. data/ext/rj_schema/rapidjson/CMakeModules/FindGTestSrc.cmake +0 -30
  6. data/ext/rj_schema/rapidjson/RapidJSON.pc.in +0 -7
  7. data/ext/rj_schema/rapidjson/RapidJSONConfig.cmake.in +0 -15
  8. data/ext/rj_schema/rapidjson/RapidJSONConfigVersion.cmake.in +0 -10
  9. data/ext/rj_schema/rapidjson/appveyor.yml +0 -41
  10. data/ext/rj_schema/rapidjson/bin/data/glossary.json +0 -22
  11. data/ext/rj_schema/rapidjson/bin/data/menu.json +0 -27
  12. data/ext/rj_schema/rapidjson/bin/data/readme.txt +0 -1
  13. data/ext/rj_schema/rapidjson/bin/data/sample.json +0 -3315
  14. data/ext/rj_schema/rapidjson/bin/data/webapp.json +0 -88
  15. data/ext/rj_schema/rapidjson/bin/data/widget.json +0 -26
  16. data/ext/rj_schema/rapidjson/bin/draft-04/schema +0 -150
  17. data/ext/rj_schema/rapidjson/bin/encodings/utf16be.json +0 -0
  18. data/ext/rj_schema/rapidjson/bin/encodings/utf16bebom.json +0 -0
  19. data/ext/rj_schema/rapidjson/bin/encodings/utf16le.json +0 -0
  20. data/ext/rj_schema/rapidjson/bin/encodings/utf16lebom.json +0 -0
  21. data/ext/rj_schema/rapidjson/bin/encodings/utf32be.json +0 -0
  22. data/ext/rj_schema/rapidjson/bin/encodings/utf32bebom.json +0 -0
  23. data/ext/rj_schema/rapidjson/bin/encodings/utf32le.json +0 -0
  24. data/ext/rj_schema/rapidjson/bin/encodings/utf32lebom.json +0 -0
  25. data/ext/rj_schema/rapidjson/bin/encodings/utf8.json +0 -7
  26. data/ext/rj_schema/rapidjson/bin/encodings/utf8bom.json +0 -7
  27. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail1.json +0 -1
  28. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail10.json +0 -1
  29. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail11.json +0 -1
  30. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail12.json +0 -1
  31. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail13.json +0 -1
  32. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail14.json +0 -1
  33. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail15.json +0 -1
  34. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail16.json +0 -1
  35. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail17.json +0 -1
  36. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail18.json +0 -1
  37. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail19.json +0 -1
  38. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail2.json +0 -1
  39. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail20.json +0 -1
  40. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail21.json +0 -1
  41. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail22.json +0 -1
  42. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail23.json +0 -1
  43. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail24.json +0 -1
  44. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail25.json +0 -1
  45. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail26.json +0 -1
  46. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail27.json +0 -2
  47. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail28.json +0 -2
  48. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail29.json +0 -1
  49. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail3.json +0 -1
  50. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail30.json +0 -1
  51. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail31.json +0 -1
  52. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail32.json +0 -1
  53. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail33.json +0 -1
  54. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail4.json +0 -1
  55. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail5.json +0 -1
  56. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail6.json +0 -1
  57. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail7.json +0 -1
  58. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail8.json +0 -1
  59. data/ext/rj_schema/rapidjson/bin/jsonchecker/fail9.json +0 -1
  60. data/ext/rj_schema/rapidjson/bin/jsonchecker/pass1.json +0 -58
  61. data/ext/rj_schema/rapidjson/bin/jsonchecker/pass2.json +0 -1
  62. data/ext/rj_schema/rapidjson/bin/jsonchecker/pass3.json +0 -6
  63. data/ext/rj_schema/rapidjson/bin/jsonchecker/readme.txt +0 -3
  64. data/ext/rj_schema/rapidjson/bin/jsonschema/LICENSE +0 -19
  65. data/ext/rj_schema/rapidjson/bin/jsonschema/README.md +0 -148
  66. data/ext/rj_schema/rapidjson/bin/jsonschema/bin/jsonschema_suite +0 -283
  67. data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json +0 -3
  68. data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/integer.json +0 -3
  69. data/ext/rj_schema/rapidjson/bin/jsonschema/remotes/subSchemas.json +0 -8
  70. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json +0 -82
  71. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json +0 -88
  72. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/default.json +0 -49
  73. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/dependencies.json +0 -108
  74. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/disallow.json +0 -80
  75. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json +0 -60
  76. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/enum.json +0 -71
  77. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/extends.json +0 -94
  78. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/items.json +0 -46
  79. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxItems.json +0 -28
  80. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maxLength.json +0 -33
  81. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/maximum.json +0 -42
  82. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minItems.json +0 -28
  83. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minLength.json +0 -33
  84. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/minimum.json +0 -42
  85. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json +0 -107
  86. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/format.json +0 -222
  87. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json +0 -18
  88. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json +0 -15
  89. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/pattern.json +0 -34
  90. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json +0 -110
  91. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/properties.json +0 -92
  92. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/ref.json +0 -159
  93. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/refRemote.json +0 -74
  94. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/required.json +0 -53
  95. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/type.json +0 -474
  96. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json +0 -79
  97. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json +0 -82
  98. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json +0 -88
  99. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/allOf.json +0 -112
  100. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/anyOf.json +0 -68
  101. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/default.json +0 -49
  102. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/definitions.json +0 -32
  103. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/dependencies.json +0 -113
  104. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/enum.json +0 -72
  105. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/items.json +0 -46
  106. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxItems.json +0 -28
  107. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxLength.json +0 -33
  108. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json +0 -28
  109. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/maximum.json +0 -42
  110. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minItems.json +0 -28
  111. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minLength.json +0 -33
  112. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minProperties.json +0 -28
  113. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/minimum.json +0 -42
  114. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json +0 -60
  115. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/not.json +0 -96
  116. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/oneOf.json +0 -68
  117. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json +0 -107
  118. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/format.json +0 -148
  119. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  120. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/pattern.json +0 -34
  121. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json +0 -110
  122. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/properties.json +0 -92
  123. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/ref.json +0 -159
  124. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/refRemote.json +0 -74
  125. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/required.json +0 -39
  126. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/type.json +0 -330
  127. data/ext/rj_schema/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json +0 -79
  128. data/ext/rj_schema/rapidjson/bin/jsonschema/tox.ini +0 -8
  129. data/ext/rj_schema/rapidjson/bin/types/booleans.json +0 -102
  130. data/ext/rj_schema/rapidjson/bin/types/floats.json +0 -102
  131. data/ext/rj_schema/rapidjson/bin/types/guids.json +0 -102
  132. data/ext/rj_schema/rapidjson/bin/types/integers.json +0 -102
  133. data/ext/rj_schema/rapidjson/bin/types/mixed.json +0 -592
  134. data/ext/rj_schema/rapidjson/bin/types/nulls.json +0 -102
  135. data/ext/rj_schema/rapidjson/bin/types/paragraphs.json +0 -102
  136. data/ext/rj_schema/rapidjson/bin/types/readme.txt +0 -1
  137. data/ext/rj_schema/rapidjson/contrib/natvis/LICENSE +0 -45
  138. data/ext/rj_schema/rapidjson/contrib/natvis/README.md +0 -7
  139. data/ext/rj_schema/rapidjson/contrib/natvis/rapidjson.natvis +0 -38
  140. data/ext/rj_schema/rapidjson/doc/CMakeLists.txt +0 -27
  141. data/ext/rj_schema/rapidjson/doc/Doxyfile.in +0 -2369
  142. data/ext/rj_schema/rapidjson/doc/Doxyfile.zh-cn.in +0 -2369
  143. data/ext/rj_schema/rapidjson/doc/diagram/architecture.dot +0 -50
  144. data/ext/rj_schema/rapidjson/doc/diagram/architecture.png +0 -0
  145. data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.dot +0 -65
  146. data/ext/rj_schema/rapidjson/doc/diagram/insituparsing.png +0 -0
  147. data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.dot +0 -62
  148. data/ext/rj_schema/rapidjson/doc/diagram/iterative-parser-states-diagram.png +0 -0
  149. data/ext/rj_schema/rapidjson/doc/diagram/makefile +0 -8
  150. data/ext/rj_schema/rapidjson/doc/diagram/move1.dot +0 -47
  151. data/ext/rj_schema/rapidjson/doc/diagram/move1.png +0 -0
  152. data/ext/rj_schema/rapidjson/doc/diagram/move2.dot +0 -62
  153. data/ext/rj_schema/rapidjson/doc/diagram/move2.png +0 -0
  154. data/ext/rj_schema/rapidjson/doc/diagram/move3.dot +0 -60
  155. data/ext/rj_schema/rapidjson/doc/diagram/move3.png +0 -0
  156. data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.dot +0 -56
  157. data/ext/rj_schema/rapidjson/doc/diagram/normalparsing.png +0 -0
  158. data/ext/rj_schema/rapidjson/doc/diagram/simpledom.dot +0 -54
  159. data/ext/rj_schema/rapidjson/doc/diagram/simpledom.png +0 -0
  160. data/ext/rj_schema/rapidjson/doc/diagram/tutorial.dot +0 -58
  161. data/ext/rj_schema/rapidjson/doc/diagram/tutorial.png +0 -0
  162. data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.dot +0 -73
  163. data/ext/rj_schema/rapidjson/doc/diagram/utilityclass.png +0 -0
  164. data/ext/rj_schema/rapidjson/doc/dom.md +0 -280
  165. data/ext/rj_schema/rapidjson/doc/dom.zh-cn.md +0 -284
  166. data/ext/rj_schema/rapidjson/doc/encoding.md +0 -146
  167. data/ext/rj_schema/rapidjson/doc/encoding.zh-cn.md +0 -152
  168. data/ext/rj_schema/rapidjson/doc/faq.md +0 -289
  169. data/ext/rj_schema/rapidjson/doc/faq.zh-cn.md +0 -290
  170. data/ext/rj_schema/rapidjson/doc/features.md +0 -104
  171. data/ext/rj_schema/rapidjson/doc/features.zh-cn.md +0 -103
  172. data/ext/rj_schema/rapidjson/doc/internals.md +0 -368
  173. data/ext/rj_schema/rapidjson/doc/internals.zh-cn.md +0 -363
  174. data/ext/rj_schema/rapidjson/doc/logo/rapidjson.png +0 -0
  175. data/ext/rj_schema/rapidjson/doc/logo/rapidjson.svg +0 -119
  176. data/ext/rj_schema/rapidjson/doc/misc/DoxygenLayout.xml +0 -194
  177. data/ext/rj_schema/rapidjson/doc/misc/doxygenextra.css +0 -274
  178. data/ext/rj_schema/rapidjson/doc/misc/footer.html +0 -11
  179. data/ext/rj_schema/rapidjson/doc/misc/header.html +0 -24
  180. data/ext/rj_schema/rapidjson/doc/npm.md +0 -31
  181. data/ext/rj_schema/rapidjson/doc/performance.md +0 -26
  182. data/ext/rj_schema/rapidjson/doc/performance.zh-cn.md +0 -26
  183. data/ext/rj_schema/rapidjson/doc/pointer.md +0 -234
  184. data/ext/rj_schema/rapidjson/doc/pointer.zh-cn.md +0 -234
  185. data/ext/rj_schema/rapidjson/doc/sax.md +0 -509
  186. data/ext/rj_schema/rapidjson/doc/sax.zh-cn.md +0 -487
  187. data/ext/rj_schema/rapidjson/doc/schema.md +0 -505
  188. data/ext/rj_schema/rapidjson/doc/schema.zh-cn.md +0 -237
  189. data/ext/rj_schema/rapidjson/doc/stream.md +0 -429
  190. data/ext/rj_schema/rapidjson/doc/stream.zh-cn.md +0 -429
  191. data/ext/rj_schema/rapidjson/doc/tutorial.md +0 -536
  192. data/ext/rj_schema/rapidjson/doc/tutorial.zh-cn.md +0 -534
  193. data/ext/rj_schema/rapidjson/docker/debian/Dockerfile +0 -8
  194. data/ext/rj_schema/rapidjson/example/CMakeLists.txt +0 -45
  195. data/ext/rj_schema/rapidjson/example/archiver/archiver.cpp +0 -292
  196. data/ext/rj_schema/rapidjson/example/archiver/archiver.h +0 -145
  197. data/ext/rj_schema/rapidjson/example/archiver/archivertest.cpp +0 -287
  198. data/ext/rj_schema/rapidjson/example/capitalize/capitalize.cpp +0 -67
  199. data/ext/rj_schema/rapidjson/example/condense/condense.cpp +0 -32
  200. data/ext/rj_schema/rapidjson/example/filterkey/filterkey.cpp +0 -135
  201. data/ext/rj_schema/rapidjson/example/filterkeydom/filterkeydom.cpp +0 -170
  202. data/ext/rj_schema/rapidjson/example/jsonx/jsonx.cpp +0 -207
  203. data/ext/rj_schema/rapidjson/example/lookaheadparser/lookaheadparser.cpp +0 -350
  204. data/ext/rj_schema/rapidjson/example/messagereader/messagereader.cpp +0 -105
  205. data/ext/rj_schema/rapidjson/example/parsebyparts/parsebyparts.cpp +0 -176
  206. data/ext/rj_schema/rapidjson/example/pretty/pretty.cpp +0 -30
  207. data/ext/rj_schema/rapidjson/example/prettyauto/prettyauto.cpp +0 -56
  208. data/ext/rj_schema/rapidjson/example/schemavalidator/schemavalidator.cpp +0 -78
  209. data/ext/rj_schema/rapidjson/example/serialize/serialize.cpp +0 -173
  210. data/ext/rj_schema/rapidjson/example/simpledom/simpledom.cpp +0 -29
  211. data/ext/rj_schema/rapidjson/example/simplepullreader/simplepullreader.cpp +0 -53
  212. data/ext/rj_schema/rapidjson/example/simplereader/simplereader.cpp +0 -42
  213. data/ext/rj_schema/rapidjson/example/simplewriter/simplewriter.cpp +0 -36
  214. data/ext/rj_schema/rapidjson/example/tutorial/tutorial.cpp +0 -151
  215. data/ext/rj_schema/rapidjson/include/rapidjson/allocators.h +0 -284
  216. data/ext/rj_schema/rapidjson/include/rapidjson/cursorstreamwrapper.h +0 -78
  217. data/ext/rj_schema/rapidjson/include/rapidjson/document.h +0 -2648
  218. data/ext/rj_schema/rapidjson/include/rapidjson/encodedstream.h +0 -299
  219. data/ext/rj_schema/rapidjson/include/rapidjson/encodings.h +0 -716
  220. data/ext/rj_schema/rapidjson/include/rapidjson/error/en.h +0 -74
  221. data/ext/rj_schema/rapidjson/include/rapidjson/error/error.h +0 -161
  222. data/ext/rj_schema/rapidjson/include/rapidjson/filereadstream.h +0 -99
  223. data/ext/rj_schema/rapidjson/include/rapidjson/filewritestream.h +0 -104
  224. data/ext/rj_schema/rapidjson/include/rapidjson/fwd.h +0 -151
  225. data/ext/rj_schema/rapidjson/include/rapidjson/internal/biginteger.h +0 -290
  226. data/ext/rj_schema/rapidjson/include/rapidjson/internal/diyfp.h +0 -271
  227. data/ext/rj_schema/rapidjson/include/rapidjson/internal/dtoa.h +0 -245
  228. data/ext/rj_schema/rapidjson/include/rapidjson/internal/ieee754.h +0 -78
  229. data/ext/rj_schema/rapidjson/include/rapidjson/internal/itoa.h +0 -308
  230. data/ext/rj_schema/rapidjson/include/rapidjson/internal/meta.h +0 -186
  231. data/ext/rj_schema/rapidjson/include/rapidjson/internal/pow10.h +0 -55
  232. data/ext/rj_schema/rapidjson/include/rapidjson/internal/regex.h +0 -732
  233. data/ext/rj_schema/rapidjson/include/rapidjson/internal/stack.h +0 -231
  234. data/ext/rj_schema/rapidjson/include/rapidjson/internal/strfunc.h +0 -69
  235. data/ext/rj_schema/rapidjson/include/rapidjson/internal/strtod.h +0 -290
  236. data/ext/rj_schema/rapidjson/include/rapidjson/internal/swap.h +0 -46
  237. data/ext/rj_schema/rapidjson/include/rapidjson/istreamwrapper.h +0 -113
  238. data/ext/rj_schema/rapidjson/include/rapidjson/memorybuffer.h +0 -70
  239. data/ext/rj_schema/rapidjson/include/rapidjson/memorystream.h +0 -71
  240. data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/inttypes.h +0 -316
  241. data/ext/rj_schema/rapidjson/include/rapidjson/msinttypes/stdint.h +0 -300
  242. data/ext/rj_schema/rapidjson/include/rapidjson/ostreamwrapper.h +0 -81
  243. data/ext/rj_schema/rapidjson/include/rapidjson/pointer.h +0 -1357
  244. data/ext/rj_schema/rapidjson/include/rapidjson/prettywriter.h +0 -277
  245. data/ext/rj_schema/rapidjson/include/rapidjson/rapidjson.h +0 -630
  246. data/ext/rj_schema/rapidjson/include/rapidjson/reader.h +0 -2230
  247. data/ext/rj_schema/rapidjson/include/rapidjson/schema.h +0 -2494
  248. data/ext/rj_schema/rapidjson/include/rapidjson/stream.h +0 -223
  249. data/ext/rj_schema/rapidjson/include/rapidjson/stringbuffer.h +0 -121
  250. data/ext/rj_schema/rapidjson/include/rapidjson/writer.h +0 -710
  251. data/ext/rj_schema/rapidjson/include_dirs.js +0 -2
  252. data/ext/rj_schema/rapidjson/library.json +0 -15
  253. data/ext/rj_schema/rapidjson/license.txt +0 -57
  254. data/ext/rj_schema/rapidjson/package.json +0 -24
  255. data/ext/rj_schema/rapidjson/rapidjson.autopkg +0 -77
  256. data/ext/rj_schema/rapidjson/readme.md +0 -160
  257. data/ext/rj_schema/rapidjson/readme.zh-cn.md +0 -152
  258. data/ext/rj_schema/rapidjson/test/CMakeLists.txt +0 -20
  259. data/ext/rj_schema/rapidjson/test/perftest/CMakeLists.txt +0 -28
  260. data/ext/rj_schema/rapidjson/test/perftest/misctest.cpp +0 -974
  261. data/ext/rj_schema/rapidjson/test/perftest/perftest.cpp +0 -24
  262. data/ext/rj_schema/rapidjson/test/perftest/perftest.h +0 -185
  263. data/ext/rj_schema/rapidjson/test/perftest/platformtest.cpp +0 -166
  264. data/ext/rj_schema/rapidjson/test/perftest/rapidjsontest.cpp +0 -472
  265. data/ext/rj_schema/rapidjson/test/perftest/schematest.cpp +0 -223
  266. data/ext/rj_schema/rapidjson/test/unittest/CMakeLists.txt +0 -92
  267. data/ext/rj_schema/rapidjson/test/unittest/allocatorstest.cpp +0 -100
  268. data/ext/rj_schema/rapidjson/test/unittest/bigintegertest.cpp +0 -138
  269. data/ext/rj_schema/rapidjson/test/unittest/cursorstreamwrappertest.cpp +0 -115
  270. data/ext/rj_schema/rapidjson/test/unittest/documenttest.cpp +0 -672
  271. data/ext/rj_schema/rapidjson/test/unittest/dtoatest.cpp +0 -98
  272. data/ext/rj_schema/rapidjson/test/unittest/encodedstreamtest.cpp +0 -313
  273. data/ext/rj_schema/rapidjson/test/unittest/encodingstest.cpp +0 -451
  274. data/ext/rj_schema/rapidjson/test/unittest/filestreamtest.cpp +0 -112
  275. data/ext/rj_schema/rapidjson/test/unittest/fwdtest.cpp +0 -230
  276. data/ext/rj_schema/rapidjson/test/unittest/istreamwrappertest.cpp +0 -181
  277. data/ext/rj_schema/rapidjson/test/unittest/itoatest.cpp +0 -160
  278. data/ext/rj_schema/rapidjson/test/unittest/jsoncheckertest.cpp +0 -143
  279. data/ext/rj_schema/rapidjson/test/unittest/namespacetest.cpp +0 -70
  280. data/ext/rj_schema/rapidjson/test/unittest/ostreamwrappertest.cpp +0 -92
  281. data/ext/rj_schema/rapidjson/test/unittest/pointertest.cpp +0 -1529
  282. data/ext/rj_schema/rapidjson/test/unittest/prettywritertest.cpp +0 -373
  283. data/ext/rj_schema/rapidjson/test/unittest/readertest.cpp +0 -2190
  284. data/ext/rj_schema/rapidjson/test/unittest/regextest.cpp +0 -638
  285. data/ext/rj_schema/rapidjson/test/unittest/schematest.cpp +0 -2072
  286. data/ext/rj_schema/rapidjson/test/unittest/simdtest.cpp +0 -219
  287. data/ext/rj_schema/rapidjson/test/unittest/strfunctest.cpp +0 -30
  288. data/ext/rj_schema/rapidjson/test/unittest/stringbuffertest.cpp +0 -192
  289. data/ext/rj_schema/rapidjson/test/unittest/strtodtest.cpp +0 -132
  290. data/ext/rj_schema/rapidjson/test/unittest/unittest.cpp +0 -51
  291. data/ext/rj_schema/rapidjson/test/unittest/unittest.h +0 -140
  292. data/ext/rj_schema/rapidjson/test/unittest/valuetest.cpp +0 -1851
  293. data/ext/rj_schema/rapidjson/test/unittest/writertest.cpp +0 -598
  294. data/ext/rj_schema/rapidjson/test/valgrind.supp +0 -17
  295. data/ext/rj_schema/rapidjson/thirdparty/gtest/CMakeLists.txt +0 -16
  296. data/ext/rj_schema/rapidjson/thirdparty/gtest/README.md +0 -141
  297. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CHANGES +0 -126
  298. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CMakeLists.txt +0 -202
  299. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CONTRIBUTORS +0 -40
  300. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/LICENSE +0 -28
  301. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/Makefile.am +0 -224
  302. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/README.md +0 -333
  303. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/configure.ac +0 -146
  304. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CheatSheet.md +0 -562
  305. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CookBook.md +0 -3675
  306. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DesignDoc.md +0 -280
  307. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DevGuide.md +0 -132
  308. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/Documentation.md +0 -12
  309. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/ForDummies.md +0 -439
  310. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/FrequentlyAskedQuestions.md +0 -628
  311. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/KnownIssues.md +0 -19
  312. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CheatSheet.md +0 -525
  313. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CookBook.md +0 -3250
  314. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/Documentation.md +0 -11
  315. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/ForDummies.md +0 -439
  316. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +0 -624
  317. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CheatSheet.md +0 -534
  318. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CookBook.md +0 -3342
  319. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/Documentation.md +0 -12
  320. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/ForDummies.md +0 -439
  321. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +0 -628
  322. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CheatSheet.md +0 -556
  323. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CookBook.md +0 -3432
  324. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/Documentation.md +0 -12
  325. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/ForDummies.md +0 -439
  326. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +0 -628
  327. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-actions.h +0 -1205
  328. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-cardinalities.h +0 -147
  329. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h +0 -2377
  330. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump +0 -794
  331. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h +0 -1095
  332. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +0 -291
  333. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h +0 -2179
  334. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump +0 -672
  335. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h +0 -397
  336. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +0 -161
  337. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-matchers.h +0 -4399
  338. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-actions.h +0 -246
  339. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h +0 -58
  340. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h +0 -1847
  341. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock.h +0 -94
  342. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +0 -8
  343. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +0 -10
  344. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h +0 -39
  345. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-port.h +0 -46
  346. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +0 -279
  347. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +0 -136
  348. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h +0 -511
  349. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h +0 -91
  350. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/make/Makefile +0 -101
  351. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.sln +0 -32
  352. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.vcproj +0 -191
  353. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_config.vsprops +0 -15
  354. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_main.vcproj +0 -187
  355. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_test.vcproj +0 -201
  356. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln +0 -32
  357. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj +0 -82
  358. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props +0 -19
  359. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj +0 -88
  360. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj +0 -101
  361. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.sln +0 -32
  362. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.vcxproj +0 -84
  363. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_config.props +0 -19
  364. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_main.vcxproj +0 -90
  365. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_test.vcxproj +0 -103
  366. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/fuse_gmock_files.py +0 -240
  367. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/LICENSE +0 -203
  368. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README +0 -35
  369. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README.cppclean +0 -115
  370. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/__init__.py +0 -0
  371. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/ast.py +0 -1733
  372. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class.py +0 -227
  373. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class_test.py +0 -448
  374. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/keywords.py +0 -59
  375. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/tokenize.py +0 -287
  376. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/utils.py +0 -41
  377. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/gmock_gen.py +0 -31
  378. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock-config.in +0 -303
  379. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock_doctor.py +0 -640
  380. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload.py +0 -1387
  381. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload_gmock.py +0 -78
  382. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-all.cc +0 -47
  383. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-cardinalities.cc +0 -156
  384. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-internal-utils.cc +0 -174
  385. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-matchers.cc +0 -498
  386. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-spec-builders.cc +0 -823
  387. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock.cc +0 -183
  388. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock_main.cc +0 -54
  389. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-actions_test.cc +0 -1411
  390. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-cardinalities_test.cc +0 -428
  391. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-actions_test.cc +0 -1228
  392. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-function-mockers_test.cc +0 -622
  393. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-internal-utils_test.cc +0 -127
  394. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-matchers_test.cc +0 -1286
  395. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-internal-utils_test.cc +0 -699
  396. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-matchers_test.cc +0 -5648
  397. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-more-actions_test.cc +0 -708
  398. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-nice-strict_test.cc +0 -424
  399. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-port_test.cc +0 -43
  400. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-spec-builders_test.cc +0 -2644
  401. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_all_test.cc +0 -51
  402. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_ex_test.cc +0 -81
  403. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test.py +0 -108
  404. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test_.cc +0 -100
  405. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link2_test.cc +0 -40
  406. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.cc +0 -40
  407. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.h +0 -669
  408. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test.py +0 -180
  409. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_.cc +0 -291
  410. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_golden.txt +0 -310
  411. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_stress_test.cc +0 -322
  412. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test.cc +0 -220
  413. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test_utils.py +0 -112
  414. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CHANGES +0 -157
  415. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt +0 -286
  416. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CONTRIBUTORS +0 -37
  417. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/LICENSE +0 -28
  418. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/Makefile.am +0 -310
  419. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/README.md +0 -280
  420. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/cmake/internal_utils.cmake +0 -242
  421. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.cbproj +0 -138
  422. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.groupproj +0 -54
  423. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_all.cc +0 -38
  424. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_link.cc +0 -40
  425. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_main.cbproj +0 -82
  426. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_unittest.cbproj +0 -88
  427. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/configure.ac +0 -68
  428. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/AdvancedGuide.md +0 -2182
  429. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/DevGuide.md +0 -126
  430. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Documentation.md +0 -14
  431. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/FAQ.md +0 -1087
  432. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Primer.md +0 -502
  433. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/PumpManual.md +0 -177
  434. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Samples.md +0 -14
  435. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_AdvancedGuide.md +0 -2096
  436. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Documentation.md +0 -12
  437. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_FAQ.md +0 -886
  438. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Primer.md +0 -497
  439. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_PumpManual.md +0 -177
  440. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_XcodeGuide.md +0 -93
  441. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_AdvancedGuide.md +0 -2178
  442. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Documentation.md +0 -14
  443. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_FAQ.md +0 -1038
  444. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Primer.md +0 -501
  445. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_PumpManual.md +0 -177
  446. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Samples.md +0 -14
  447. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_XcodeGuide.md +0 -93
  448. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_AdvancedGuide.md +0 -2181
  449. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Documentation.md +0 -14
  450. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_FAQ.md +0 -1082
  451. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Primer.md +0 -501
  452. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_PumpManual.md +0 -177
  453. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Samples.md +0 -14
  454. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_XcodeGuide.md +0 -93
  455. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/XcodeGuide.md +0 -93
  456. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-death-test.h +0 -294
  457. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-message.h +0 -250
  458. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h +0 -1444
  459. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h.pump +0 -510
  460. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-printers.h +0 -993
  461. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-spi.h +0 -232
  462. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-test-part.h +0 -179
  463. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h +0 -263
  464. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest.h +0 -2236
  465. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h +0 -358
  466. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_prod.h +0 -58
  467. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h +0 -69
  468. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  469. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h +0 -41
  470. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -319
  471. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h +0 -206
  472. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h +0 -1238
  473. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
  474. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
  475. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
  476. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h +0 -731
  477. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h +0 -93
  478. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h +0 -2554
  479. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h +0 -167
  480. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
  481. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
  482. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h +0 -3331
  483. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump +0 -297
  484. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/acx_pthread.m4 +0 -363
  485. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/gtest.m4 +0 -74
  486. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/make/Makefile +0 -82
  487. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.sln +0 -45
  488. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.vcproj +0 -126
  489. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.sln +0 -45
  490. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.vcproj +0 -126
  491. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main-md.vcproj +0 -129
  492. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main.vcproj +0 -129
  493. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test-md.vcproj +0 -164
  494. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test.vcproj +0 -164
  495. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest-md.vcproj +0 -147
  496. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest.vcproj +0 -147
  497. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/prime_tables.h +0 -123
  498. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.cc +0 -68
  499. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.h +0 -43
  500. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample10_unittest.cc +0 -144
  501. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1_unittest.cc +0 -153
  502. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.cc +0 -56
  503. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.h +0 -85
  504. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2_unittest.cc +0 -109
  505. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3-inl.h +0 -172
  506. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3_unittest.cc +0 -151
  507. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.cc +0 -46
  508. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.h +0 -53
  509. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4_unittest.cc +0 -45
  510. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample5_unittest.cc +0 -199
  511. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample6_unittest.cc +0 -224
  512. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample7_unittest.cc +0 -130
  513. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample8_unittest.cc +0 -173
  514. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample9_unittest.cc +0 -160
  515. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/common.py +0 -83
  516. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/fuse_gtest_files.py +0 -253
  517. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gen_gtest_pred_impl.py +0 -730
  518. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gtest-config.in +0 -274
  519. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/pump.py +0 -855
  520. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/release_docs.py +0 -158
  521. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/test/Makefile +0 -59
  522. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload.py +0 -1387
  523. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload_gtest.py +0 -78
  524. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-all.cc +0 -48
  525. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-death-test.cc +0 -1342
  526. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-filepath.cc +0 -387
  527. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-internal-inl.h +0 -1183
  528. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-port.cc +0 -1259
  529. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-printers.cc +0 -373
  530. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-test-part.cc +0 -110
  531. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-typed-test.cc +0 -118
  532. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest.cc +0 -5388
  533. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest_main.cc +0 -38
  534. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_ex_test.cc +0 -93
  535. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_test.cc +0 -1427
  536. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-filepath_test.cc +0 -662
  537. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-linked_ptr_test.cc +0 -154
  538. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-listener_test.cc +0 -311
  539. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-message_test.cc +0 -159
  540. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-options_test.cc +0 -215
  541. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test2_test.cc +0 -65
  542. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.cc +0 -1055
  543. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.h +0 -57
  544. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-port_test.cc +0 -1304
  545. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-printers_test.cc +0 -1635
  546. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-test-part_test.cc +0 -208
  547. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-tuple_test.cc +0 -320
  548. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test2_test.cc +0 -45
  549. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.cc +0 -380
  550. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.h +0 -66
  551. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-unittest-api_test.cc +0 -341
  552. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_all_test.cc +0 -47
  553. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest.py +0 -212
  554. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest_.cc +0 -88
  555. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test.py +0 -237
  556. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test_.cc +0 -311
  557. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test.py +0 -130
  558. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test_.cc +0 -71
  559. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test.py +0 -117
  560. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test_.cc +0 -126
  561. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_environment_test.cc +0 -192
  562. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest.py +0 -636
  563. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest_.cc +0 -140
  564. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test.py +0 -172
  565. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test_.cc +0 -46
  566. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest.py +0 -207
  567. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest_.cc +0 -157
  568. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_main_unittest.cc +0 -45
  569. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_no_test_unittest.cc +0 -56
  570. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test.py +0 -340
  571. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_.cc +0 -1062
  572. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_golden_lin.txt +0 -743
  573. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_pred_impl_unittest.cc +0 -2427
  574. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_premature_exit_test.cc +0 -127
  575. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_prod_test.cc +0 -57
  576. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_repeat_test.cc +0 -253
  577. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test.py +0 -325
  578. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test_.cc +0 -103
  579. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_sole_header_test.cc +0 -57
  580. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_stress_test.cc +0 -256
  581. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_test_utils.py +0 -320
  582. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_ex_test.cc +0 -92
  583. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test.py +0 -171
  584. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test_.cc +0 -72
  585. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test.py +0 -70
  586. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test_.cc +0 -43
  587. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_unittest.cc +0 -7706
  588. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile1_test_.cc +0 -49
  589. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile2_test_.cc +0 -49
  590. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfiles_test.py +0 -132
  591. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest.py +0 -308
  592. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest_.cc +0 -181
  593. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_test_utils.py +0 -194
  594. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.cc +0 -36
  595. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.h +0 -55
  596. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/DebugProject.xcconfig +0 -30
  597. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/FrameworkTarget.xcconfig +0 -17
  598. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/General.xcconfig +0 -41
  599. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/ReleaseProject.xcconfig +0 -32
  600. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +0 -18
  601. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/TestTarget.xcconfig +0 -8
  602. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Resources/Info.plist +0 -30
  603. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/Info.plist +0 -28
  604. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj +0 -457
  605. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/runtests.sh +0 -62
  606. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.cc +0 -63
  607. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.h +0 -59
  608. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget_test.cc +0 -68
  609. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/runtests.sh +0 -65
  610. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/versiongenerate.py +0 -100
  611. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/gtest.xcodeproj/project.pbxproj +0 -1135
  612. data/ext/rj_schema/rapidjson/thirdparty/gtest/travis.sh +0 -15
  613. data/ext/rj_schema/rapidjson/travis-doxygen.sh +0 -121
@@ -1,286 +0,0 @@
1
- $$ -*- mode: c++; -*-
2
- $var n = 50 $$ Maximum length of Values arguments we want to support.
3
- $var maxtuple = 10 $$ Maximum number of Combine arguments we want to support.
4
- // Copyright 2008 Google Inc.
5
- // All Rights Reserved.
6
- //
7
- // Redistribution and use in source and binary forms, with or without
8
- // modification, are permitted provided that the following conditions are
9
- // met:
10
- //
11
- // * Redistributions of source code must retain the above copyright
12
- // notice, this list of conditions and the following disclaimer.
13
- // * Redistributions in binary form must reproduce the above
14
- // copyright notice, this list of conditions and the following disclaimer
15
- // in the documentation and/or other materials provided with the
16
- // distribution.
17
- // * Neither the name of Google Inc. nor the names of its
18
- // contributors may be used to endorse or promote products derived from
19
- // this software without specific prior written permission.
20
- //
21
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
- //
33
- // Author: vladl@google.com (Vlad Losev)
34
-
35
- // Type and function utilities for implementing parameterized tests.
36
- // This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
37
- //
38
- // Currently Google Test supports at most $n arguments in Values,
39
- // and at most $maxtuple arguments in Combine. Please contact
40
- // googletestframework@googlegroups.com if you need more.
41
- // Please note that the number of arguments to Combine is limited
42
- // by the maximum arity of the implementation of tuple which is
43
- // currently set at $maxtuple.
44
-
45
- #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
46
- #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
47
-
48
- // scripts/fuse_gtest.py depends on gtest's own header being #included
49
- // *unconditionally*. Therefore these #includes cannot be moved
50
- // inside #if GTEST_HAS_PARAM_TEST.
51
- #include "gtest/internal/gtest-param-util.h"
52
- #include "gtest/internal/gtest-port.h"
53
-
54
- #if GTEST_HAS_PARAM_TEST
55
-
56
- namespace testing {
57
-
58
- // Forward declarations of ValuesIn(), which is implemented in
59
- // include/gtest/gtest-param-test.h.
60
- template <typename ForwardIterator>
61
- internal::ParamGenerator<
62
- typename ::testing::internal::IteratorTraits<ForwardIterator>::value_type>
63
- ValuesIn(ForwardIterator begin, ForwardIterator end);
64
-
65
- template <typename T, size_t N>
66
- internal::ParamGenerator<T> ValuesIn(const T (&array)[N]);
67
-
68
- template <class Container>
69
- internal::ParamGenerator<typename Container::value_type> ValuesIn(
70
- const Container& container);
71
-
72
- namespace internal {
73
-
74
- // Used in the Values() function to provide polymorphic capabilities.
75
- $range i 1..n
76
- $for i [[
77
- $range j 1..i
78
-
79
- template <$for j, [[typename T$j]]>
80
- class ValueArray$i {
81
- public:
82
- $if i==1 [[explicit ]]ValueArray$i($for j, [[T$j v$j]]) : $for j, [[v$(j)_(v$j)]] {}
83
-
84
- template <typename T>
85
- operator ParamGenerator<T>() const {
86
- const T array[] = {$for j, [[static_cast<T>(v$(j)_)]]};
87
- return ValuesIn(array);
88
- }
89
-
90
- private:
91
- // No implementation - assignment is unsupported.
92
- void operator=(const ValueArray$i& other);
93
-
94
- $for j [[
95
-
96
- const T$j v$(j)_;
97
- ]]
98
-
99
- };
100
-
101
- ]]
102
-
103
- # if GTEST_HAS_COMBINE
104
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
105
- //
106
- // Generates values from the Cartesian product of values produced
107
- // by the argument generators.
108
- //
109
- $range i 2..maxtuple
110
- $for i [[
111
- $range j 1..i
112
- $range k 2..i
113
-
114
- template <$for j, [[typename T$j]]>
115
- class CartesianProductGenerator$i
116
- : public ParamGeneratorInterface< ::testing::tuple<$for j, [[T$j]]> > {
117
- public:
118
- typedef ::testing::tuple<$for j, [[T$j]]> ParamType;
119
-
120
- CartesianProductGenerator$i($for j, [[const ParamGenerator<T$j>& g$j]])
121
- : $for j, [[g$(j)_(g$j)]] {}
122
- virtual ~CartesianProductGenerator$i() {}
123
-
124
- virtual ParamIteratorInterface<ParamType>* Begin() const {
125
- return new Iterator(this, $for j, [[g$(j)_, g$(j)_.begin()]]);
126
- }
127
- virtual ParamIteratorInterface<ParamType>* End() const {
128
- return new Iterator(this, $for j, [[g$(j)_, g$(j)_.end()]]);
129
- }
130
-
131
- private:
132
- class Iterator : public ParamIteratorInterface<ParamType> {
133
- public:
134
- Iterator(const ParamGeneratorInterface<ParamType>* base, $for j, [[
135
-
136
- const ParamGenerator<T$j>& g$j,
137
- const typename ParamGenerator<T$j>::iterator& current$(j)]])
138
- : base_(base),
139
- $for j, [[
140
-
141
- begin$(j)_(g$j.begin()), end$(j)_(g$j.end()), current$(j)_(current$j)
142
- ]] {
143
- ComputeCurrentValue();
144
- }
145
- virtual ~Iterator() {}
146
-
147
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const {
148
- return base_;
149
- }
150
- // Advance should not be called on beyond-of-range iterators
151
- // so no component iterators must be beyond end of range, either.
152
- virtual void Advance() {
153
- assert(!AtEnd());
154
- ++current$(i)_;
155
-
156
- $for k [[
157
- if (current$(i+2-k)_ == end$(i+2-k)_) {
158
- current$(i+2-k)_ = begin$(i+2-k)_;
159
- ++current$(i+2-k-1)_;
160
- }
161
-
162
- ]]
163
- ComputeCurrentValue();
164
- }
165
- virtual ParamIteratorInterface<ParamType>* Clone() const {
166
- return new Iterator(*this);
167
- }
168
- virtual const ParamType* Current() const { return &current_value_; }
169
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
170
- // Having the same base generator guarantees that the other
171
- // iterator is of the same type and we can downcast.
172
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator())
173
- << "The program attempted to compare iterators "
174
- << "from different generators." << std::endl;
175
- const Iterator* typed_other =
176
- CheckedDowncastToActualType<const Iterator>(&other);
177
- // We must report iterators equal if they both point beyond their
178
- // respective ranges. That can happen in a variety of fashions,
179
- // so we have to consult AtEnd().
180
- return (AtEnd() && typed_other->AtEnd()) ||
181
- ($for j && [[
182
-
183
- current$(j)_ == typed_other->current$(j)_
184
- ]]);
185
- }
186
-
187
- private:
188
- Iterator(const Iterator& other)
189
- : base_(other.base_), $for j, [[
190
-
191
- begin$(j)_(other.begin$(j)_),
192
- end$(j)_(other.end$(j)_),
193
- current$(j)_(other.current$(j)_)
194
- ]] {
195
- ComputeCurrentValue();
196
- }
197
-
198
- void ComputeCurrentValue() {
199
- if (!AtEnd())
200
- current_value_ = ParamType($for j, [[*current$(j)_]]);
201
- }
202
- bool AtEnd() const {
203
- // We must report iterator past the end of the range when either of the
204
- // component iterators has reached the end of its range.
205
- return
206
- $for j || [[
207
-
208
- current$(j)_ == end$(j)_
209
- ]];
210
- }
211
-
212
- // No implementation - assignment is unsupported.
213
- void operator=(const Iterator& other);
214
-
215
- const ParamGeneratorInterface<ParamType>* const base_;
216
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
217
- // current[i]_ is the actual traversing iterator.
218
- $for j [[
219
-
220
- const typename ParamGenerator<T$j>::iterator begin$(j)_;
221
- const typename ParamGenerator<T$j>::iterator end$(j)_;
222
- typename ParamGenerator<T$j>::iterator current$(j)_;
223
- ]]
224
-
225
- ParamType current_value_;
226
- }; // class CartesianProductGenerator$i::Iterator
227
-
228
- // No implementation - assignment is unsupported.
229
- void operator=(const CartesianProductGenerator$i& other);
230
-
231
-
232
- $for j [[
233
- const ParamGenerator<T$j> g$(j)_;
234
-
235
- ]]
236
- }; // class CartesianProductGenerator$i
237
-
238
-
239
- ]]
240
-
241
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
242
- //
243
- // Helper classes providing Combine() with polymorphic features. They allow
244
- // casting CartesianProductGeneratorN<T> to ParamGenerator<U> if T is
245
- // convertible to U.
246
- //
247
- $range i 2..maxtuple
248
- $for i [[
249
- $range j 1..i
250
-
251
- template <$for j, [[class Generator$j]]>
252
- class CartesianProductHolder$i {
253
- public:
254
- CartesianProductHolder$i($for j, [[const Generator$j& g$j]])
255
- : $for j, [[g$(j)_(g$j)]] {}
256
- template <$for j, [[typename T$j]]>
257
- operator ParamGenerator< ::testing::tuple<$for j, [[T$j]]> >() const {
258
- return ParamGenerator< ::testing::tuple<$for j, [[T$j]]> >(
259
- new CartesianProductGenerator$i<$for j, [[T$j]]>(
260
- $for j,[[
261
-
262
- static_cast<ParamGenerator<T$j> >(g$(j)_)
263
- ]]));
264
- }
265
-
266
- private:
267
- // No implementation - assignment is unsupported.
268
- void operator=(const CartesianProductHolder$i& other);
269
-
270
-
271
- $for j [[
272
- const Generator$j g$(j)_;
273
-
274
- ]]
275
- }; // class CartesianProductHolder$i
276
-
277
- ]]
278
-
279
- # endif // GTEST_HAS_COMBINE
280
-
281
- } // namespace internal
282
- } // namespace testing
283
-
284
- #endif // GTEST_HAS_PARAM_TEST
285
-
286
- #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
@@ -1,731 +0,0 @@
1
- // Copyright 2008 Google Inc.
2
- // All Rights Reserved.
3
- //
4
- // Redistribution and use in source and binary forms, with or without
5
- // modification, are permitted provided that the following conditions are
6
- // met:
7
- //
8
- // * Redistributions of source code must retain the above copyright
9
- // notice, this list of conditions and the following disclaimer.
10
- // * Redistributions in binary form must reproduce the above
11
- // copyright notice, this list of conditions and the following disclaimer
12
- // in the documentation and/or other materials provided with the
13
- // distribution.
14
- // * Neither the name of Google Inc. nor the names of its
15
- // contributors may be used to endorse or promote products derived from
16
- // this software without specific prior written permission.
17
- //
18
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
- //
30
- // Author: vladl@google.com (Vlad Losev)
31
-
32
- // Type and function utilities for implementing parameterized tests.
33
-
34
- #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_
35
- #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_
36
-
37
- #include <ctype.h>
38
-
39
- #include <iterator>
40
- #include <set>
41
- #include <utility>
42
- #include <vector>
43
-
44
- // scripts/fuse_gtest.py depends on gtest's own header being #included
45
- // *unconditionally*. Therefore these #includes cannot be moved
46
- // inside #if GTEST_HAS_PARAM_TEST.
47
- #include "gtest/internal/gtest-internal.h"
48
- #include "gtest/internal/gtest-linked_ptr.h"
49
- #include "gtest/internal/gtest-port.h"
50
- #include "gtest/gtest-printers.h"
51
-
52
- #if GTEST_HAS_PARAM_TEST
53
-
54
- namespace testing {
55
-
56
- // Input to a parameterized test name generator, describing a test parameter.
57
- // Consists of the parameter value and the integer parameter index.
58
- template <class ParamType>
59
- struct TestParamInfo {
60
- TestParamInfo(const ParamType& a_param, size_t an_index) :
61
- param(a_param),
62
- index(an_index) {}
63
- ParamType param;
64
- size_t index;
65
- };
66
-
67
- // A builtin parameterized test name generator which returns the result of
68
- // testing::PrintToString.
69
- struct PrintToStringParamName {
70
- template <class ParamType>
71
- std::string operator()(const TestParamInfo<ParamType>& info) const {
72
- return PrintToString(info.param);
73
- }
74
- };
75
-
76
- namespace internal {
77
-
78
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
79
- //
80
- // Outputs a message explaining invalid registration of different
81
- // fixture class for the same test case. This may happen when
82
- // TEST_P macro is used to define two tests with the same name
83
- // but in different namespaces.
84
- GTEST_API_ void ReportInvalidTestCaseType(const char* test_case_name,
85
- CodeLocation code_location);
86
-
87
- template <typename> class ParamGeneratorInterface;
88
- template <typename> class ParamGenerator;
89
-
90
- // Interface for iterating over elements provided by an implementation
91
- // of ParamGeneratorInterface<T>.
92
- template <typename T>
93
- class ParamIteratorInterface {
94
- public:
95
- virtual ~ParamIteratorInterface() {}
96
- // A pointer to the base generator instance.
97
- // Used only for the purposes of iterator comparison
98
- // to make sure that two iterators belong to the same generator.
99
- virtual const ParamGeneratorInterface<T>* BaseGenerator() const = 0;
100
- // Advances iterator to point to the next element
101
- // provided by the generator. The caller is responsible
102
- // for not calling Advance() on an iterator equal to
103
- // BaseGenerator()->End().
104
- virtual void Advance() = 0;
105
- // Clones the iterator object. Used for implementing copy semantics
106
- // of ParamIterator<T>.
107
- virtual ParamIteratorInterface* Clone() const = 0;
108
- // Dereferences the current iterator and provides (read-only) access
109
- // to the pointed value. It is the caller's responsibility not to call
110
- // Current() on an iterator equal to BaseGenerator()->End().
111
- // Used for implementing ParamGenerator<T>::operator*().
112
- virtual const T* Current() const = 0;
113
- // Determines whether the given iterator and other point to the same
114
- // element in the sequence generated by the generator.
115
- // Used for implementing ParamGenerator<T>::operator==().
116
- virtual bool Equals(const ParamIteratorInterface& other) const = 0;
117
- };
118
-
119
- // Class iterating over elements provided by an implementation of
120
- // ParamGeneratorInterface<T>. It wraps ParamIteratorInterface<T>
121
- // and implements the const forward iterator concept.
122
- template <typename T>
123
- class ParamIterator {
124
- public:
125
- typedef T value_type;
126
- typedef const T& reference;
127
- typedef ptrdiff_t difference_type;
128
-
129
- // ParamIterator assumes ownership of the impl_ pointer.
130
- ParamIterator(const ParamIterator& other) : impl_(other.impl_->Clone()) {}
131
- ParamIterator& operator=(const ParamIterator& other) {
132
- if (this != &other)
133
- impl_.reset(other.impl_->Clone());
134
- return *this;
135
- }
136
-
137
- const T& operator*() const { return *impl_->Current(); }
138
- const T* operator->() const { return impl_->Current(); }
139
- // Prefix version of operator++.
140
- ParamIterator& operator++() {
141
- impl_->Advance();
142
- return *this;
143
- }
144
- // Postfix version of operator++.
145
- ParamIterator operator++(int /*unused*/) {
146
- ParamIteratorInterface<T>* clone = impl_->Clone();
147
- impl_->Advance();
148
- return ParamIterator(clone);
149
- }
150
- bool operator==(const ParamIterator& other) const {
151
- return impl_.get() == other.impl_.get() || impl_->Equals(*other.impl_);
152
- }
153
- bool operator!=(const ParamIterator& other) const {
154
- return !(*this == other);
155
- }
156
-
157
- private:
158
- friend class ParamGenerator<T>;
159
- explicit ParamIterator(ParamIteratorInterface<T>* impl) : impl_(impl) {}
160
- scoped_ptr<ParamIteratorInterface<T> > impl_;
161
- };
162
-
163
- // ParamGeneratorInterface<T> is the binary interface to access generators
164
- // defined in other translation units.
165
- template <typename T>
166
- class ParamGeneratorInterface {
167
- public:
168
- typedef T ParamType;
169
-
170
- virtual ~ParamGeneratorInterface() {}
171
-
172
- // Generator interface definition
173
- virtual ParamIteratorInterface<T>* Begin() const = 0;
174
- virtual ParamIteratorInterface<T>* End() const = 0;
175
- };
176
-
177
- // Wraps ParamGeneratorInterface<T> and provides general generator syntax
178
- // compatible with the STL Container concept.
179
- // This class implements copy initialization semantics and the contained
180
- // ParamGeneratorInterface<T> instance is shared among all copies
181
- // of the original object. This is possible because that instance is immutable.
182
- template<typename T>
183
- class ParamGenerator {
184
- public:
185
- typedef ParamIterator<T> iterator;
186
-
187
- explicit ParamGenerator(ParamGeneratorInterface<T>* impl) : impl_(impl) {}
188
- ParamGenerator(const ParamGenerator& other) : impl_(other.impl_) {}
189
-
190
- ParamGenerator& operator=(const ParamGenerator& other) {
191
- impl_ = other.impl_;
192
- return *this;
193
- }
194
-
195
- iterator begin() const { return iterator(impl_->Begin()); }
196
- iterator end() const { return iterator(impl_->End()); }
197
-
198
- private:
199
- linked_ptr<const ParamGeneratorInterface<T> > impl_;
200
- };
201
-
202
- // Generates values from a range of two comparable values. Can be used to
203
- // generate sequences of user-defined types that implement operator+() and
204
- // operator<().
205
- // This class is used in the Range() function.
206
- template <typename T, typename IncrementT>
207
- class RangeGenerator : public ParamGeneratorInterface<T> {
208
- public:
209
- RangeGenerator(T begin, T end, IncrementT step)
210
- : begin_(begin), end_(end),
211
- step_(step), end_index_(CalculateEndIndex(begin, end, step)) {}
212
- virtual ~RangeGenerator() {}
213
-
214
- virtual ParamIteratorInterface<T>* Begin() const {
215
- return new Iterator(this, begin_, 0, step_);
216
- }
217
- virtual ParamIteratorInterface<T>* End() const {
218
- return new Iterator(this, end_, end_index_, step_);
219
- }
220
-
221
- private:
222
- class Iterator : public ParamIteratorInterface<T> {
223
- public:
224
- Iterator(const ParamGeneratorInterface<T>* base, T value, int index,
225
- IncrementT step)
226
- : base_(base), value_(value), index_(index), step_(step) {}
227
- virtual ~Iterator() {}
228
-
229
- virtual const ParamGeneratorInterface<T>* BaseGenerator() const {
230
- return base_;
231
- }
232
- virtual void Advance() {
233
- value_ = static_cast<T>(value_ + step_);
234
- index_++;
235
- }
236
- virtual ParamIteratorInterface<T>* Clone() const {
237
- return new Iterator(*this);
238
- }
239
- virtual const T* Current() const { return &value_; }
240
- virtual bool Equals(const ParamIteratorInterface<T>& other) const {
241
- // Having the same base generator guarantees that the other
242
- // iterator is of the same type and we can downcast.
243
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator())
244
- << "The program attempted to compare iterators "
245
- << "from different generators." << std::endl;
246
- const int other_index =
247
- CheckedDowncastToActualType<const Iterator>(&other)->index_;
248
- return index_ == other_index;
249
- }
250
-
251
- private:
252
- Iterator(const Iterator& other)
253
- : ParamIteratorInterface<T>(),
254
- base_(other.base_), value_(other.value_), index_(other.index_),
255
- step_(other.step_) {}
256
-
257
- // No implementation - assignment is unsupported.
258
- void operator=(const Iterator& other);
259
-
260
- const ParamGeneratorInterface<T>* const base_;
261
- T value_;
262
- int index_;
263
- const IncrementT step_;
264
- }; // class RangeGenerator::Iterator
265
-
266
- static int CalculateEndIndex(const T& begin,
267
- const T& end,
268
- const IncrementT& step) {
269
- int end_index = 0;
270
- for (T i = begin; i < end; i = static_cast<T>(i + step))
271
- end_index++;
272
- return end_index;
273
- }
274
-
275
- // No implementation - assignment is unsupported.
276
- void operator=(const RangeGenerator& other);
277
-
278
- const T begin_;
279
- const T end_;
280
- const IncrementT step_;
281
- // The index for the end() iterator. All the elements in the generated
282
- // sequence are indexed (0-based) to aid iterator comparison.
283
- const int end_index_;
284
- }; // class RangeGenerator
285
-
286
-
287
- // Generates values from a pair of STL-style iterators. Used in the
288
- // ValuesIn() function. The elements are copied from the source range
289
- // since the source can be located on the stack, and the generator
290
- // is likely to persist beyond that stack frame.
291
- template <typename T>
292
- class ValuesInIteratorRangeGenerator : public ParamGeneratorInterface<T> {
293
- public:
294
- template <typename ForwardIterator>
295
- ValuesInIteratorRangeGenerator(ForwardIterator begin, ForwardIterator end)
296
- : container_(begin, end) {}
297
- virtual ~ValuesInIteratorRangeGenerator() {}
298
-
299
- virtual ParamIteratorInterface<T>* Begin() const {
300
- return new Iterator(this, container_.begin());
301
- }
302
- virtual ParamIteratorInterface<T>* End() const {
303
- return new Iterator(this, container_.end());
304
- }
305
-
306
- private:
307
- typedef typename ::std::vector<T> ContainerType;
308
-
309
- class Iterator : public ParamIteratorInterface<T> {
310
- public:
311
- Iterator(const ParamGeneratorInterface<T>* base,
312
- typename ContainerType::const_iterator iterator)
313
- : base_(base), iterator_(iterator) {}
314
- virtual ~Iterator() {}
315
-
316
- virtual const ParamGeneratorInterface<T>* BaseGenerator() const {
317
- return base_;
318
- }
319
- virtual void Advance() {
320
- ++iterator_;
321
- value_.reset();
322
- }
323
- virtual ParamIteratorInterface<T>* Clone() const {
324
- return new Iterator(*this);
325
- }
326
- // We need to use cached value referenced by iterator_ because *iterator_
327
- // can return a temporary object (and of type other then T), so just
328
- // having "return &*iterator_;" doesn't work.
329
- // value_ is updated here and not in Advance() because Advance()
330
- // can advance iterator_ beyond the end of the range, and we cannot
331
- // detect that fact. The client code, on the other hand, is
332
- // responsible for not calling Current() on an out-of-range iterator.
333
- virtual const T* Current() const {
334
- if (value_.get() == NULL)
335
- value_.reset(new T(*iterator_));
336
- return value_.get();
337
- }
338
- virtual bool Equals(const ParamIteratorInterface<T>& other) const {
339
- // Having the same base generator guarantees that the other
340
- // iterator is of the same type and we can downcast.
341
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator())
342
- << "The program attempted to compare iterators "
343
- << "from different generators." << std::endl;
344
- return iterator_ ==
345
- CheckedDowncastToActualType<const Iterator>(&other)->iterator_;
346
- }
347
-
348
- private:
349
- Iterator(const Iterator& other)
350
- // The explicit constructor call suppresses a false warning
351
- // emitted by gcc when supplied with the -Wextra option.
352
- : ParamIteratorInterface<T>(),
353
- base_(other.base_),
354
- iterator_(other.iterator_) {}
355
-
356
- const ParamGeneratorInterface<T>* const base_;
357
- typename ContainerType::const_iterator iterator_;
358
- // A cached value of *iterator_. We keep it here to allow access by
359
- // pointer in the wrapping iterator's operator->().
360
- // value_ needs to be mutable to be accessed in Current().
361
- // Use of scoped_ptr helps manage cached value's lifetime,
362
- // which is bound by the lifespan of the iterator itself.
363
- mutable scoped_ptr<const T> value_;
364
- }; // class ValuesInIteratorRangeGenerator::Iterator
365
-
366
- // No implementation - assignment is unsupported.
367
- void operator=(const ValuesInIteratorRangeGenerator& other);
368
-
369
- const ContainerType container_;
370
- }; // class ValuesInIteratorRangeGenerator
371
-
372
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
373
- //
374
- // Default parameterized test name generator, returns a string containing the
375
- // integer test parameter index.
376
- template <class ParamType>
377
- std::string DefaultParamName(const TestParamInfo<ParamType>& info) {
378
- Message name_stream;
379
- name_stream << info.index;
380
- return name_stream.GetString();
381
- }
382
-
383
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
384
- //
385
- // Parameterized test name overload helpers, which help the
386
- // INSTANTIATE_TEST_CASE_P macro choose between the default parameterized
387
- // test name generator and user param name generator.
388
- template <class ParamType, class ParamNameGenFunctor>
389
- ParamNameGenFunctor GetParamNameGen(ParamNameGenFunctor func) {
390
- return func;
391
- }
392
-
393
- template <class ParamType>
394
- struct ParamNameGenFunc {
395
- typedef std::string Type(const TestParamInfo<ParamType>&);
396
- };
397
-
398
- template <class ParamType>
399
- typename ParamNameGenFunc<ParamType>::Type *GetParamNameGen() {
400
- return DefaultParamName;
401
- }
402
-
403
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
404
- //
405
- // Stores a parameter value and later creates tests parameterized with that
406
- // value.
407
- template <class TestClass>
408
- class ParameterizedTestFactory : public TestFactoryBase {
409
- public:
410
- typedef typename TestClass::ParamType ParamType;
411
- explicit ParameterizedTestFactory(ParamType parameter) :
412
- parameter_(parameter) {}
413
- virtual Test* CreateTest() {
414
- TestClass::SetParam(&parameter_);
415
- return new TestClass();
416
- }
417
-
418
- private:
419
- const ParamType parameter_;
420
-
421
- GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestFactory);
422
- };
423
-
424
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
425
- //
426
- // TestMetaFactoryBase is a base class for meta-factories that create
427
- // test factories for passing into MakeAndRegisterTestInfo function.
428
- template <class ParamType>
429
- class TestMetaFactoryBase {
430
- public:
431
- virtual ~TestMetaFactoryBase() {}
432
-
433
- virtual TestFactoryBase* CreateTestFactory(ParamType parameter) = 0;
434
- };
435
-
436
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
437
- //
438
- // TestMetaFactory creates test factories for passing into
439
- // MakeAndRegisterTestInfo function. Since MakeAndRegisterTestInfo receives
440
- // ownership of test factory pointer, same factory object cannot be passed
441
- // into that method twice. But ParameterizedTestCaseInfo is going to call
442
- // it for each Test/Parameter value combination. Thus it needs meta factory
443
- // creator class.
444
- template <class TestCase>
445
- class TestMetaFactory
446
- : public TestMetaFactoryBase<typename TestCase::ParamType> {
447
- public:
448
- typedef typename TestCase::ParamType ParamType;
449
-
450
- TestMetaFactory() {}
451
-
452
- virtual TestFactoryBase* CreateTestFactory(ParamType parameter) {
453
- return new ParameterizedTestFactory<TestCase>(parameter);
454
- }
455
-
456
- private:
457
- GTEST_DISALLOW_COPY_AND_ASSIGN_(TestMetaFactory);
458
- };
459
-
460
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
461
- //
462
- // ParameterizedTestCaseInfoBase is a generic interface
463
- // to ParameterizedTestCaseInfo classes. ParameterizedTestCaseInfoBase
464
- // accumulates test information provided by TEST_P macro invocations
465
- // and generators provided by INSTANTIATE_TEST_CASE_P macro invocations
466
- // and uses that information to register all resulting test instances
467
- // in RegisterTests method. The ParameterizeTestCaseRegistry class holds
468
- // a collection of pointers to the ParameterizedTestCaseInfo objects
469
- // and calls RegisterTests() on each of them when asked.
470
- class ParameterizedTestCaseInfoBase {
471
- public:
472
- virtual ~ParameterizedTestCaseInfoBase() {}
473
-
474
- // Base part of test case name for display purposes.
475
- virtual const string& GetTestCaseName() const = 0;
476
- // Test case id to verify identity.
477
- virtual TypeId GetTestCaseTypeId() const = 0;
478
- // UnitTest class invokes this method to register tests in this
479
- // test case right before running them in RUN_ALL_TESTS macro.
480
- // This method should not be called more then once on any single
481
- // instance of a ParameterizedTestCaseInfoBase derived class.
482
- virtual void RegisterTests() = 0;
483
-
484
- protected:
485
- ParameterizedTestCaseInfoBase() {}
486
-
487
- private:
488
- GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestCaseInfoBase);
489
- };
490
-
491
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
492
- //
493
- // ParameterizedTestCaseInfo accumulates tests obtained from TEST_P
494
- // macro invocations for a particular test case and generators
495
- // obtained from INSTANTIATE_TEST_CASE_P macro invocations for that
496
- // test case. It registers tests with all values generated by all
497
- // generators when asked.
498
- template <class TestCase>
499
- class ParameterizedTestCaseInfo : public ParameterizedTestCaseInfoBase {
500
- public:
501
- // ParamType and GeneratorCreationFunc are private types but are required
502
- // for declarations of public methods AddTestPattern() and
503
- // AddTestCaseInstantiation().
504
- typedef typename TestCase::ParamType ParamType;
505
- // A function that returns an instance of appropriate generator type.
506
- typedef ParamGenerator<ParamType>(GeneratorCreationFunc)();
507
- typedef typename ParamNameGenFunc<ParamType>::Type ParamNameGeneratorFunc;
508
-
509
- explicit ParameterizedTestCaseInfo(
510
- const char* name, CodeLocation code_location)
511
- : test_case_name_(name), code_location_(code_location) {}
512
-
513
- // Test case base name for display purposes.
514
- virtual const string& GetTestCaseName() const { return test_case_name_; }
515
- // Test case id to verify identity.
516
- virtual TypeId GetTestCaseTypeId() const { return GetTypeId<TestCase>(); }
517
- // TEST_P macro uses AddTestPattern() to record information
518
- // about a single test in a LocalTestInfo structure.
519
- // test_case_name is the base name of the test case (without invocation
520
- // prefix). test_base_name is the name of an individual test without
521
- // parameter index. For the test SequenceA/FooTest.DoBar/1 FooTest is
522
- // test case base name and DoBar is test base name.
523
- void AddTestPattern(const char* test_case_name,
524
- const char* test_base_name,
525
- TestMetaFactoryBase<ParamType>* meta_factory) {
526
- tests_.push_back(linked_ptr<TestInfo>(new TestInfo(test_case_name,
527
- test_base_name,
528
- meta_factory)));
529
- }
530
- // INSTANTIATE_TEST_CASE_P macro uses AddGenerator() to record information
531
- // about a generator.
532
- int AddTestCaseInstantiation(const string& instantiation_name,
533
- GeneratorCreationFunc* func,
534
- ParamNameGeneratorFunc* name_func,
535
- const char* file,
536
- int line) {
537
- instantiations_.push_back(
538
- InstantiationInfo(instantiation_name, func, name_func, file, line));
539
- return 0; // Return value used only to run this method in namespace scope.
540
- }
541
- // UnitTest class invokes this method to register tests in this test case
542
- // test cases right before running tests in RUN_ALL_TESTS macro.
543
- // This method should not be called more then once on any single
544
- // instance of a ParameterizedTestCaseInfoBase derived class.
545
- // UnitTest has a guard to prevent from calling this method more then once.
546
- virtual void RegisterTests() {
547
- for (typename TestInfoContainer::iterator test_it = tests_.begin();
548
- test_it != tests_.end(); ++test_it) {
549
- linked_ptr<TestInfo> test_info = *test_it;
550
- for (typename InstantiationContainer::iterator gen_it =
551
- instantiations_.begin(); gen_it != instantiations_.end();
552
- ++gen_it) {
553
- const string& instantiation_name = gen_it->name;
554
- ParamGenerator<ParamType> generator((*gen_it->generator)());
555
- ParamNameGeneratorFunc* name_func = gen_it->name_func;
556
- const char* file = gen_it->file;
557
- int line = gen_it->line;
558
-
559
- string test_case_name;
560
- if ( !instantiation_name.empty() )
561
- test_case_name = instantiation_name + "/";
562
- test_case_name += test_info->test_case_base_name;
563
-
564
- size_t i = 0;
565
- std::set<std::string> test_param_names;
566
- for (typename ParamGenerator<ParamType>::iterator param_it =
567
- generator.begin();
568
- param_it != generator.end(); ++param_it, ++i) {
569
- Message test_name_stream;
570
-
571
- std::string param_name = name_func(
572
- TestParamInfo<ParamType>(*param_it, i));
573
-
574
- GTEST_CHECK_(IsValidParamName(param_name))
575
- << "Parameterized test name '" << param_name
576
- << "' is invalid, in " << file
577
- << " line " << line << std::endl;
578
-
579
- GTEST_CHECK_(test_param_names.count(param_name) == 0)
580
- << "Duplicate parameterized test name '" << param_name
581
- << "', in " << file << " line " << line << std::endl;
582
-
583
- test_param_names.insert(param_name);
584
-
585
- test_name_stream << test_info->test_base_name << "/" << param_name;
586
- MakeAndRegisterTestInfo(
587
- test_case_name.c_str(),
588
- test_name_stream.GetString().c_str(),
589
- NULL, // No type parameter.
590
- PrintToString(*param_it).c_str(),
591
- code_location_,
592
- GetTestCaseTypeId(),
593
- TestCase::SetUpTestCase,
594
- TestCase::TearDownTestCase,
595
- test_info->test_meta_factory->CreateTestFactory(*param_it));
596
- } // for param_it
597
- } // for gen_it
598
- } // for test_it
599
- } // RegisterTests
600
-
601
- private:
602
- // LocalTestInfo structure keeps information about a single test registered
603
- // with TEST_P macro.
604
- struct TestInfo {
605
- TestInfo(const char* a_test_case_base_name,
606
- const char* a_test_base_name,
607
- TestMetaFactoryBase<ParamType>* a_test_meta_factory) :
608
- test_case_base_name(a_test_case_base_name),
609
- test_base_name(a_test_base_name),
610
- test_meta_factory(a_test_meta_factory) {}
611
-
612
- const string test_case_base_name;
613
- const string test_base_name;
614
- const scoped_ptr<TestMetaFactoryBase<ParamType> > test_meta_factory;
615
- };
616
- typedef ::std::vector<linked_ptr<TestInfo> > TestInfoContainer;
617
- // Records data received from INSTANTIATE_TEST_CASE_P macros:
618
- // <Instantiation name, Sequence generator creation function,
619
- // Name generator function, Source file, Source line>
620
- struct InstantiationInfo {
621
- InstantiationInfo(const std::string &name_in,
622
- GeneratorCreationFunc* generator_in,
623
- ParamNameGeneratorFunc* name_func_in,
624
- const char* file_in,
625
- int line_in)
626
- : name(name_in),
627
- generator(generator_in),
628
- name_func(name_func_in),
629
- file(file_in),
630
- line(line_in) {}
631
-
632
- std::string name;
633
- GeneratorCreationFunc* generator;
634
- ParamNameGeneratorFunc* name_func;
635
- const char* file;
636
- int line;
637
- };
638
- typedef ::std::vector<InstantiationInfo> InstantiationContainer;
639
-
640
- static bool IsValidParamName(const std::string& name) {
641
- // Check for empty string
642
- if (name.empty())
643
- return false;
644
-
645
- // Check for invalid characters
646
- for (std::string::size_type index = 0; index < name.size(); ++index) {
647
- if (!isalnum(name[index]) && name[index] != '_')
648
- return false;
649
- }
650
-
651
- return true;
652
- }
653
-
654
- const string test_case_name_;
655
- CodeLocation code_location_;
656
- TestInfoContainer tests_;
657
- InstantiationContainer instantiations_;
658
-
659
- GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestCaseInfo);
660
- }; // class ParameterizedTestCaseInfo
661
-
662
- // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
663
- //
664
- // ParameterizedTestCaseRegistry contains a map of ParameterizedTestCaseInfoBase
665
- // classes accessed by test case names. TEST_P and INSTANTIATE_TEST_CASE_P
666
- // macros use it to locate their corresponding ParameterizedTestCaseInfo
667
- // descriptors.
668
- class ParameterizedTestCaseRegistry {
669
- public:
670
- ParameterizedTestCaseRegistry() {}
671
- ~ParameterizedTestCaseRegistry() {
672
- for (TestCaseInfoContainer::iterator it = test_case_infos_.begin();
673
- it != test_case_infos_.end(); ++it) {
674
- delete *it;
675
- }
676
- }
677
-
678
- // Looks up or creates and returns a structure containing information about
679
- // tests and instantiations of a particular test case.
680
- template <class TestCase>
681
- ParameterizedTestCaseInfo<TestCase>* GetTestCasePatternHolder(
682
- const char* test_case_name,
683
- CodeLocation code_location) {
684
- ParameterizedTestCaseInfo<TestCase>* typed_test_info = NULL;
685
- for (TestCaseInfoContainer::iterator it = test_case_infos_.begin();
686
- it != test_case_infos_.end(); ++it) {
687
- if ((*it)->GetTestCaseName() == test_case_name) {
688
- if ((*it)->GetTestCaseTypeId() != GetTypeId<TestCase>()) {
689
- // Complain about incorrect usage of Google Test facilities
690
- // and terminate the program since we cannot guaranty correct
691
- // test case setup and tear-down in this case.
692
- ReportInvalidTestCaseType(test_case_name, code_location);
693
- posix::Abort();
694
- } else {
695
- // At this point we are sure that the object we found is of the same
696
- // type we are looking for, so we downcast it to that type
697
- // without further checks.
698
- typed_test_info = CheckedDowncastToActualType<
699
- ParameterizedTestCaseInfo<TestCase> >(*it);
700
- }
701
- break;
702
- }
703
- }
704
- if (typed_test_info == NULL) {
705
- typed_test_info = new ParameterizedTestCaseInfo<TestCase>(
706
- test_case_name, code_location);
707
- test_case_infos_.push_back(typed_test_info);
708
- }
709
- return typed_test_info;
710
- }
711
- void RegisterTests() {
712
- for (TestCaseInfoContainer::iterator it = test_case_infos_.begin();
713
- it != test_case_infos_.end(); ++it) {
714
- (*it)->RegisterTests();
715
- }
716
- }
717
-
718
- private:
719
- typedef ::std::vector<ParameterizedTestCaseInfoBase*> TestCaseInfoContainer;
720
-
721
- TestCaseInfoContainer test_case_infos_;
722
-
723
- GTEST_DISALLOW_COPY_AND_ASSIGN_(ParameterizedTestCaseRegistry);
724
- };
725
-
726
- } // namespace internal
727
- } // namespace testing
728
-
729
- #endif // GTEST_HAS_PARAM_TEST
730
-
731
- #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_H_