rj_schema 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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,159 +0,0 @@
1
- // Copyright 2005, 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: wan@google.com (Zhanyong Wan)
31
- //
32
- // Tests for the Message class.
33
-
34
- #include "gtest/gtest-message.h"
35
-
36
- #include "gtest/gtest.h"
37
-
38
- namespace {
39
-
40
- using ::testing::Message;
41
-
42
- // Tests the testing::Message class
43
-
44
- // Tests the default constructor.
45
- TEST(MessageTest, DefaultConstructor) {
46
- const Message msg;
47
- EXPECT_EQ("", msg.GetString());
48
- }
49
-
50
- // Tests the copy constructor.
51
- TEST(MessageTest, CopyConstructor) {
52
- const Message msg1("Hello");
53
- const Message msg2(msg1);
54
- EXPECT_EQ("Hello", msg2.GetString());
55
- }
56
-
57
- // Tests constructing a Message from a C-string.
58
- TEST(MessageTest, ConstructsFromCString) {
59
- Message msg("Hello");
60
- EXPECT_EQ("Hello", msg.GetString());
61
- }
62
-
63
- // Tests streaming a float.
64
- TEST(MessageTest, StreamsFloat) {
65
- const std::string s = (Message() << 1.23456F << " " << 2.34567F).GetString();
66
- // Both numbers should be printed with enough precision.
67
- EXPECT_PRED_FORMAT2(testing::IsSubstring, "1.234560", s.c_str());
68
- EXPECT_PRED_FORMAT2(testing::IsSubstring, " 2.345669", s.c_str());
69
- }
70
-
71
- // Tests streaming a double.
72
- TEST(MessageTest, StreamsDouble) {
73
- const std::string s = (Message() << 1260570880.4555497 << " "
74
- << 1260572265.1954534).GetString();
75
- // Both numbers should be printed with enough precision.
76
- EXPECT_PRED_FORMAT2(testing::IsSubstring, "1260570880.45", s.c_str());
77
- EXPECT_PRED_FORMAT2(testing::IsSubstring, " 1260572265.19", s.c_str());
78
- }
79
-
80
- // Tests streaming a non-char pointer.
81
- TEST(MessageTest, StreamsPointer) {
82
- int n = 0;
83
- int* p = &n;
84
- EXPECT_NE("(null)", (Message() << p).GetString());
85
- }
86
-
87
- // Tests streaming a NULL non-char pointer.
88
- TEST(MessageTest, StreamsNullPointer) {
89
- int* p = NULL;
90
- EXPECT_EQ("(null)", (Message() << p).GetString());
91
- }
92
-
93
- // Tests streaming a C string.
94
- TEST(MessageTest, StreamsCString) {
95
- EXPECT_EQ("Foo", (Message() << "Foo").GetString());
96
- }
97
-
98
- // Tests streaming a NULL C string.
99
- TEST(MessageTest, StreamsNullCString) {
100
- char* p = NULL;
101
- EXPECT_EQ("(null)", (Message() << p).GetString());
102
- }
103
-
104
- // Tests streaming std::string.
105
- TEST(MessageTest, StreamsString) {
106
- const ::std::string str("Hello");
107
- EXPECT_EQ("Hello", (Message() << str).GetString());
108
- }
109
-
110
- // Tests that we can output strings containing embedded NULs.
111
- TEST(MessageTest, StreamsStringWithEmbeddedNUL) {
112
- const char char_array_with_nul[] =
113
- "Here's a NUL\0 and some more string";
114
- const ::std::string string_with_nul(char_array_with_nul,
115
- sizeof(char_array_with_nul) - 1);
116
- EXPECT_EQ("Here's a NUL\\0 and some more string",
117
- (Message() << string_with_nul).GetString());
118
- }
119
-
120
- // Tests streaming a NUL char.
121
- TEST(MessageTest, StreamsNULChar) {
122
- EXPECT_EQ("\\0", (Message() << '\0').GetString());
123
- }
124
-
125
- // Tests streaming int.
126
- TEST(MessageTest, StreamsInt) {
127
- EXPECT_EQ("123", (Message() << 123).GetString());
128
- }
129
-
130
- // Tests that basic IO manipulators (endl, ends, and flush) can be
131
- // streamed to Message.
132
- TEST(MessageTest, StreamsBasicIoManip) {
133
- EXPECT_EQ("Line 1.\nA NUL char \\0 in line 2.",
134
- (Message() << "Line 1." << std::endl
135
- << "A NUL char " << std::ends << std::flush
136
- << " in line 2.").GetString());
137
- }
138
-
139
- // Tests Message::GetString()
140
- TEST(MessageTest, GetString) {
141
- Message msg;
142
- msg << 1 << " lamb";
143
- EXPECT_EQ("1 lamb", msg.GetString());
144
- }
145
-
146
- // Tests streaming a Message object to an ostream.
147
- TEST(MessageTest, StreamsToOStream) {
148
- Message msg("Hello");
149
- ::std::stringstream ss;
150
- ss << msg;
151
- EXPECT_EQ("Hello", testing::internal::StringStreamToString(&ss));
152
- }
153
-
154
- // Tests that a Message object doesn't take up too much stack space.
155
- TEST(MessageTest, DoesNotTakeUpMuchStackSpace) {
156
- EXPECT_LE(sizeof(Message), 16U);
157
- }
158
-
159
- } // namespace
@@ -1,215 +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
- // Authors: keith.ray@gmail.com (Keith Ray)
31
- //
32
- // Google Test UnitTestOptions tests
33
- //
34
- // This file tests classes and functions used internally by
35
- // Google Test. They are subject to change without notice.
36
- //
37
- // This file is #included from gtest.cc, to avoid changing build or
38
- // make-files on Windows and other platforms. Do not #include this file
39
- // anywhere else!
40
-
41
- #include "gtest/gtest.h"
42
-
43
- #if GTEST_OS_WINDOWS_MOBILE
44
- # include <windows.h>
45
- #elif GTEST_OS_WINDOWS
46
- # include <direct.h>
47
- #endif // GTEST_OS_WINDOWS_MOBILE
48
-
49
- // Indicates that this translation unit is part of Google Test's
50
- // implementation. It must come before gtest-internal-inl.h is
51
- // included, or there will be a compiler error. This trick is to
52
- // prevent a user from accidentally including gtest-internal-inl.h in
53
- // his code.
54
- #define GTEST_IMPLEMENTATION_ 1
55
- #include "src/gtest-internal-inl.h"
56
- #undef GTEST_IMPLEMENTATION_
57
-
58
- namespace testing {
59
- namespace internal {
60
- namespace {
61
-
62
- // Turns the given relative path into an absolute path.
63
- FilePath GetAbsolutePathOf(const FilePath& relative_path) {
64
- return FilePath::ConcatPaths(FilePath::GetCurrentDir(), relative_path);
65
- }
66
-
67
- // Testing UnitTestOptions::GetOutputFormat/GetOutputFile.
68
-
69
- TEST(XmlOutputTest, GetOutputFormatDefault) {
70
- GTEST_FLAG(output) = "";
71
- EXPECT_STREQ("", UnitTestOptions::GetOutputFormat().c_str());
72
- }
73
-
74
- TEST(XmlOutputTest, GetOutputFormat) {
75
- GTEST_FLAG(output) = "xml:filename";
76
- EXPECT_STREQ("xml", UnitTestOptions::GetOutputFormat().c_str());
77
- }
78
-
79
- TEST(XmlOutputTest, GetOutputFileDefault) {
80
- GTEST_FLAG(output) = "";
81
- EXPECT_EQ(GetAbsolutePathOf(FilePath("test_detail.xml")).string(),
82
- UnitTestOptions::GetAbsolutePathToOutputFile());
83
- }
84
-
85
- TEST(XmlOutputTest, GetOutputFileSingleFile) {
86
- GTEST_FLAG(output) = "xml:filename.abc";
87
- EXPECT_EQ(GetAbsolutePathOf(FilePath("filename.abc")).string(),
88
- UnitTestOptions::GetAbsolutePathToOutputFile());
89
- }
90
-
91
- TEST(XmlOutputTest, GetOutputFileFromDirectoryPath) {
92
- GTEST_FLAG(output) = "xml:path" GTEST_PATH_SEP_;
93
- const std::string expected_output_file =
94
- GetAbsolutePathOf(
95
- FilePath(std::string("path") + GTEST_PATH_SEP_ +
96
- GetCurrentExecutableName().string() + ".xml")).string();
97
- const std::string& output_file =
98
- UnitTestOptions::GetAbsolutePathToOutputFile();
99
- #if GTEST_OS_WINDOWS
100
- EXPECT_STRCASEEQ(expected_output_file.c_str(), output_file.c_str());
101
- #else
102
- EXPECT_EQ(expected_output_file, output_file.c_str());
103
- #endif
104
- }
105
-
106
- TEST(OutputFileHelpersTest, GetCurrentExecutableName) {
107
- const std::string exe_str = GetCurrentExecutableName().string();
108
- #if GTEST_OS_WINDOWS
109
- const bool success =
110
- _strcmpi("gtest-options_test", exe_str.c_str()) == 0 ||
111
- _strcmpi("gtest-options-ex_test", exe_str.c_str()) == 0 ||
112
- _strcmpi("gtest_all_test", exe_str.c_str()) == 0 ||
113
- _strcmpi("gtest_dll_test", exe_str.c_str()) == 0;
114
- #else
115
- // TODO(wan@google.com): remove the hard-coded "lt-" prefix when
116
- // Chandler Carruth's libtool replacement is ready.
117
- const bool success =
118
- exe_str == "gtest-options_test" ||
119
- exe_str == "gtest_all_test" ||
120
- exe_str == "lt-gtest_all_test" ||
121
- exe_str == "gtest_dll_test";
122
- #endif // GTEST_OS_WINDOWS
123
- if (!success)
124
- FAIL() << "GetCurrentExecutableName() returns " << exe_str;
125
- }
126
-
127
- class XmlOutputChangeDirTest : public Test {
128
- protected:
129
- virtual void SetUp() {
130
- original_working_dir_ = FilePath::GetCurrentDir();
131
- posix::ChDir("..");
132
- // This will make the test fail if run from the root directory.
133
- EXPECT_NE(original_working_dir_.string(),
134
- FilePath::GetCurrentDir().string());
135
- }
136
-
137
- virtual void TearDown() {
138
- posix::ChDir(original_working_dir_.string().c_str());
139
- }
140
-
141
- FilePath original_working_dir_;
142
- };
143
-
144
- TEST_F(XmlOutputChangeDirTest, PreserveOriginalWorkingDirWithDefault) {
145
- GTEST_FLAG(output) = "";
146
- EXPECT_EQ(FilePath::ConcatPaths(original_working_dir_,
147
- FilePath("test_detail.xml")).string(),
148
- UnitTestOptions::GetAbsolutePathToOutputFile());
149
- }
150
-
151
- TEST_F(XmlOutputChangeDirTest, PreserveOriginalWorkingDirWithDefaultXML) {
152
- GTEST_FLAG(output) = "xml";
153
- EXPECT_EQ(FilePath::ConcatPaths(original_working_dir_,
154
- FilePath("test_detail.xml")).string(),
155
- UnitTestOptions::GetAbsolutePathToOutputFile());
156
- }
157
-
158
- TEST_F(XmlOutputChangeDirTest, PreserveOriginalWorkingDirWithRelativeFile) {
159
- GTEST_FLAG(output) = "xml:filename.abc";
160
- EXPECT_EQ(FilePath::ConcatPaths(original_working_dir_,
161
- FilePath("filename.abc")).string(),
162
- UnitTestOptions::GetAbsolutePathToOutputFile());
163
- }
164
-
165
- TEST_F(XmlOutputChangeDirTest, PreserveOriginalWorkingDirWithRelativePath) {
166
- GTEST_FLAG(output) = "xml:path" GTEST_PATH_SEP_;
167
- const std::string expected_output_file =
168
- FilePath::ConcatPaths(
169
- original_working_dir_,
170
- FilePath(std::string("path") + GTEST_PATH_SEP_ +
171
- GetCurrentExecutableName().string() + ".xml")).string();
172
- const std::string& output_file =
173
- UnitTestOptions::GetAbsolutePathToOutputFile();
174
- #if GTEST_OS_WINDOWS
175
- EXPECT_STRCASEEQ(expected_output_file.c_str(), output_file.c_str());
176
- #else
177
- EXPECT_EQ(expected_output_file, output_file.c_str());
178
- #endif
179
- }
180
-
181
- TEST_F(XmlOutputChangeDirTest, PreserveOriginalWorkingDirWithAbsoluteFile) {
182
- #if GTEST_OS_WINDOWS
183
- GTEST_FLAG(output) = "xml:c:\\tmp\\filename.abc";
184
- EXPECT_EQ(FilePath("c:\\tmp\\filename.abc").string(),
185
- UnitTestOptions::GetAbsolutePathToOutputFile());
186
- #else
187
- GTEST_FLAG(output) ="xml:/tmp/filename.abc";
188
- EXPECT_EQ(FilePath("/tmp/filename.abc").string(),
189
- UnitTestOptions::GetAbsolutePathToOutputFile());
190
- #endif
191
- }
192
-
193
- TEST_F(XmlOutputChangeDirTest, PreserveOriginalWorkingDirWithAbsolutePath) {
194
- #if GTEST_OS_WINDOWS
195
- const std::string path = "c:\\tmp\\";
196
- #else
197
- const std::string path = "/tmp/";
198
- #endif
199
-
200
- GTEST_FLAG(output) = "xml:" + path;
201
- const std::string expected_output_file =
202
- path + GetCurrentExecutableName().string() + ".xml";
203
- const std::string& output_file =
204
- UnitTestOptions::GetAbsolutePathToOutputFile();
205
-
206
- #if GTEST_OS_WINDOWS
207
- EXPECT_STRCASEEQ(expected_output_file.c_str(), output_file.c_str());
208
- #else
209
- EXPECT_EQ(expected_output_file, output_file.c_str());
210
- #endif
211
- }
212
-
213
- } // namespace
214
- } // namespace internal
215
- } // namespace testing
@@ -1,65 +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
- // Tests for Google Test itself. This verifies that the basic constructs of
33
- // Google Test work.
34
-
35
- #include "gtest/gtest.h"
36
-
37
- #include "test/gtest-param-test_test.h"
38
-
39
- #if GTEST_HAS_PARAM_TEST
40
-
41
- using ::testing::Values;
42
- using ::testing::internal::ParamGenerator;
43
-
44
- // Tests that generators defined in a different translation unit
45
- // are functional. The test using extern_gen is defined
46
- // in gtest-param-test_test.cc.
47
- ParamGenerator<int> extern_gen = Values(33);
48
-
49
- // Tests that a parameterized test case can be defined in one translation unit
50
- // and instantiated in another. The test is defined in gtest-param-test_test.cc
51
- // and ExternalInstantiationTest fixture class is defined in
52
- // gtest-param-test_test.h.
53
- INSTANTIATE_TEST_CASE_P(MultiplesOf33,
54
- ExternalInstantiationTest,
55
- Values(33, 66));
56
-
57
- // Tests that a parameterized test case can be instantiated
58
- // in multiple translation units. Another instantiation is defined
59
- // in gtest-param-test_test.cc and InstantiationInMultipleTranslaionUnitsTest
60
- // fixture is defined in gtest-param-test_test.h
61
- INSTANTIATE_TEST_CASE_P(Sequence2,
62
- InstantiationInMultipleTranslaionUnitsTest,
63
- Values(42*3, 42*4, 42*5));
64
-
65
- #endif // GTEST_HAS_PARAM_TEST
@@ -1,1055 +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
- // Tests for Google Test itself. This file verifies that the parameter
33
- // generators objects produce correct parameter sequences and that
34
- // Google Test runtime instantiates correct tests from those sequences.
35
-
36
- #include "gtest/gtest.h"
37
-
38
- #if GTEST_HAS_PARAM_TEST
39
-
40
- # include <algorithm>
41
- # include <iostream>
42
- # include <list>
43
- # include <sstream>
44
- # include <string>
45
- # include <vector>
46
-
47
- // To include gtest-internal-inl.h.
48
- # define GTEST_IMPLEMENTATION_ 1
49
- # include "src/gtest-internal-inl.h" // for UnitTestOptions
50
- # undef GTEST_IMPLEMENTATION_
51
-
52
- # include "test/gtest-param-test_test.h"
53
-
54
- using ::std::vector;
55
- using ::std::sort;
56
-
57
- using ::testing::AddGlobalTestEnvironment;
58
- using ::testing::Bool;
59
- using ::testing::Message;
60
- using ::testing::Range;
61
- using ::testing::TestWithParam;
62
- using ::testing::Values;
63
- using ::testing::ValuesIn;
64
-
65
- # if GTEST_HAS_COMBINE
66
- using ::testing::Combine;
67
- using ::testing::get;
68
- using ::testing::make_tuple;
69
- using ::testing::tuple;
70
- # endif // GTEST_HAS_COMBINE
71
-
72
- using ::testing::internal::ParamGenerator;
73
- using ::testing::internal::UnitTestOptions;
74
-
75
- // Prints a value to a string.
76
- //
77
- // TODO(wan@google.com): remove PrintValue() when we move matchers and
78
- // EXPECT_THAT() from Google Mock to Google Test. At that time, we
79
- // can write EXPECT_THAT(x, Eq(y)) to compare two tuples x and y, as
80
- // EXPECT_THAT() and the matchers know how to print tuples.
81
- template <typename T>
82
- ::std::string PrintValue(const T& value) {
83
- ::std::stringstream stream;
84
- stream << value;
85
- return stream.str();
86
- }
87
-
88
- # if GTEST_HAS_COMBINE
89
-
90
- // These overloads allow printing tuples in our tests. We cannot
91
- // define an operator<< for tuples, as that definition needs to be in
92
- // the std namespace in order to be picked up by Google Test via
93
- // Argument-Dependent Lookup, yet defining anything in the std
94
- // namespace in non-STL code is undefined behavior.
95
-
96
- template <typename T1, typename T2>
97
- ::std::string PrintValue(const tuple<T1, T2>& value) {
98
- ::std::stringstream stream;
99
- stream << "(" << get<0>(value) << ", " << get<1>(value) << ")";
100
- return stream.str();
101
- }
102
-
103
- template <typename T1, typename T2, typename T3>
104
- ::std::string PrintValue(const tuple<T1, T2, T3>& value) {
105
- ::std::stringstream stream;
106
- stream << "(" << get<0>(value) << ", " << get<1>(value)
107
- << ", "<< get<2>(value) << ")";
108
- return stream.str();
109
- }
110
-
111
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
112
- typename T6, typename T7, typename T8, typename T9, typename T10>
113
- ::std::string PrintValue(
114
- const tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>& value) {
115
- ::std::stringstream stream;
116
- stream << "(" << get<0>(value) << ", " << get<1>(value)
117
- << ", "<< get<2>(value) << ", " << get<3>(value)
118
- << ", "<< get<4>(value) << ", " << get<5>(value)
119
- << ", "<< get<6>(value) << ", " << get<7>(value)
120
- << ", "<< get<8>(value) << ", " << get<9>(value) << ")";
121
- return stream.str();
122
- }
123
-
124
- # endif // GTEST_HAS_COMBINE
125
-
126
- // Verifies that a sequence generated by the generator and accessed
127
- // via the iterator object matches the expected one using Google Test
128
- // assertions.
129
- template <typename T, size_t N>
130
- void VerifyGenerator(const ParamGenerator<T>& generator,
131
- const T (&expected_values)[N]) {
132
- typename ParamGenerator<T>::iterator it = generator.begin();
133
- for (size_t i = 0; i < N; ++i) {
134
- ASSERT_FALSE(it == generator.end())
135
- << "At element " << i << " when accessing via an iterator "
136
- << "created with the copy constructor.\n";
137
- // We cannot use EXPECT_EQ() here as the values may be tuples,
138
- // which don't support <<.
139
- EXPECT_TRUE(expected_values[i] == *it)
140
- << "where i is " << i
141
- << ", expected_values[i] is " << PrintValue(expected_values[i])
142
- << ", *it is " << PrintValue(*it)
143
- << ", and 'it' is an iterator created with the copy constructor.\n";
144
- it++;
145
- }
146
- EXPECT_TRUE(it == generator.end())
147
- << "At the presumed end of sequence when accessing via an iterator "
148
- << "created with the copy constructor.\n";
149
-
150
- // Test the iterator assignment. The following lines verify that
151
- // the sequence accessed via an iterator initialized via the
152
- // assignment operator (as opposed to a copy constructor) matches
153
- // just the same.
154
- it = generator.begin();
155
- for (size_t i = 0; i < N; ++i) {
156
- ASSERT_FALSE(it == generator.end())
157
- << "At element " << i << " when accessing via an iterator "
158
- << "created with the assignment operator.\n";
159
- EXPECT_TRUE(expected_values[i] == *it)
160
- << "where i is " << i
161
- << ", expected_values[i] is " << PrintValue(expected_values[i])
162
- << ", *it is " << PrintValue(*it)
163
- << ", and 'it' is an iterator created with the copy constructor.\n";
164
- it++;
165
- }
166
- EXPECT_TRUE(it == generator.end())
167
- << "At the presumed end of sequence when accessing via an iterator "
168
- << "created with the assignment operator.\n";
169
- }
170
-
171
- template <typename T>
172
- void VerifyGeneratorIsEmpty(const ParamGenerator<T>& generator) {
173
- typename ParamGenerator<T>::iterator it = generator.begin();
174
- EXPECT_TRUE(it == generator.end());
175
-
176
- it = generator.begin();
177
- EXPECT_TRUE(it == generator.end());
178
- }
179
-
180
- // Generator tests. They test that each of the provided generator functions
181
- // generates an expected sequence of values. The general test pattern
182
- // instantiates a generator using one of the generator functions,
183
- // checks the sequence produced by the generator using its iterator API,
184
- // and then resets the iterator back to the beginning of the sequence
185
- // and checks the sequence again.
186
-
187
- // Tests that iterators produced by generator functions conform to the
188
- // ForwardIterator concept.
189
- TEST(IteratorTest, ParamIteratorConformsToForwardIteratorConcept) {
190
- const ParamGenerator<int> gen = Range(0, 10);
191
- ParamGenerator<int>::iterator it = gen.begin();
192
-
193
- // Verifies that iterator initialization works as expected.
194
- ParamGenerator<int>::iterator it2 = it;
195
- EXPECT_TRUE(*it == *it2) << "Initialized iterators must point to the "
196
- << "element same as its source points to";
197
-
198
- // Verifies that iterator assignment works as expected.
199
- it++;
200
- EXPECT_FALSE(*it == *it2);
201
- it2 = it;
202
- EXPECT_TRUE(*it == *it2) << "Assigned iterators must point to the "
203
- << "element same as its source points to";
204
-
205
- // Verifies that prefix operator++() returns *this.
206
- EXPECT_EQ(&it, &(++it)) << "Result of the prefix operator++ must be "
207
- << "refer to the original object";
208
-
209
- // Verifies that the result of the postfix operator++ points to the value
210
- // pointed to by the original iterator.
211
- int original_value = *it; // Have to compute it outside of macro call to be
212
- // unaffected by the parameter evaluation order.
213
- EXPECT_EQ(original_value, *(it++));
214
-
215
- // Verifies that prefix and postfix operator++() advance an iterator
216
- // all the same.
217
- it2 = it;
218
- it++;
219
- ++it2;
220
- EXPECT_TRUE(*it == *it2);
221
- }
222
-
223
- // Tests that Range() generates the expected sequence.
224
- TEST(RangeTest, IntRangeWithDefaultStep) {
225
- const ParamGenerator<int> gen = Range(0, 3);
226
- const int expected_values[] = {0, 1, 2};
227
- VerifyGenerator(gen, expected_values);
228
- }
229
-
230
- // Edge case. Tests that Range() generates the single element sequence
231
- // as expected when provided with range limits that are equal.
232
- TEST(RangeTest, IntRangeSingleValue) {
233
- const ParamGenerator<int> gen = Range(0, 1);
234
- const int expected_values[] = {0};
235
- VerifyGenerator(gen, expected_values);
236
- }
237
-
238
- // Edge case. Tests that Range() with generates empty sequence when
239
- // supplied with an empty range.
240
- TEST(RangeTest, IntRangeEmpty) {
241
- const ParamGenerator<int> gen = Range(0, 0);
242
- VerifyGeneratorIsEmpty(gen);
243
- }
244
-
245
- // Tests that Range() with custom step (greater then one) generates
246
- // the expected sequence.
247
- TEST(RangeTest, IntRangeWithCustomStep) {
248
- const ParamGenerator<int> gen = Range(0, 9, 3);
249
- const int expected_values[] = {0, 3, 6};
250
- VerifyGenerator(gen, expected_values);
251
- }
252
-
253
- // Tests that Range() with custom step (greater then one) generates
254
- // the expected sequence when the last element does not fall on the
255
- // upper range limit. Sequences generated by Range() must not have
256
- // elements beyond the range limits.
257
- TEST(RangeTest, IntRangeWithCustomStepOverUpperBound) {
258
- const ParamGenerator<int> gen = Range(0, 4, 3);
259
- const int expected_values[] = {0, 3};
260
- VerifyGenerator(gen, expected_values);
261
- }
262
-
263
- // Verifies that Range works with user-defined types that define
264
- // copy constructor, operator=(), operator+(), and operator<().
265
- class DogAdder {
266
- public:
267
- explicit DogAdder(const char* a_value) : value_(a_value) {}
268
- DogAdder(const DogAdder& other) : value_(other.value_.c_str()) {}
269
-
270
- DogAdder operator=(const DogAdder& other) {
271
- if (this != &other)
272
- value_ = other.value_;
273
- return *this;
274
- }
275
- DogAdder operator+(const DogAdder& other) const {
276
- Message msg;
277
- msg << value_.c_str() << other.value_.c_str();
278
- return DogAdder(msg.GetString().c_str());
279
- }
280
- bool operator<(const DogAdder& other) const {
281
- return value_ < other.value_;
282
- }
283
- const std::string& value() const { return value_; }
284
-
285
- private:
286
- std::string value_;
287
- };
288
-
289
- TEST(RangeTest, WorksWithACustomType) {
290
- const ParamGenerator<DogAdder> gen =
291
- Range(DogAdder("cat"), DogAdder("catdogdog"), DogAdder("dog"));
292
- ParamGenerator<DogAdder>::iterator it = gen.begin();
293
-
294
- ASSERT_FALSE(it == gen.end());
295
- EXPECT_STREQ("cat", it->value().c_str());
296
-
297
- ASSERT_FALSE(++it == gen.end());
298
- EXPECT_STREQ("catdog", it->value().c_str());
299
-
300
- EXPECT_TRUE(++it == gen.end());
301
- }
302
-
303
- class IntWrapper {
304
- public:
305
- explicit IntWrapper(int a_value) : value_(a_value) {}
306
- IntWrapper(const IntWrapper& other) : value_(other.value_) {}
307
-
308
- IntWrapper operator=(const IntWrapper& other) {
309
- value_ = other.value_;
310
- return *this;
311
- }
312
- // operator+() adds a different type.
313
- IntWrapper operator+(int other) const { return IntWrapper(value_ + other); }
314
- bool operator<(const IntWrapper& other) const {
315
- return value_ < other.value_;
316
- }
317
- int value() const { return value_; }
318
-
319
- private:
320
- int value_;
321
- };
322
-
323
- TEST(RangeTest, WorksWithACustomTypeWithDifferentIncrementType) {
324
- const ParamGenerator<IntWrapper> gen = Range(IntWrapper(0), IntWrapper(2));
325
- ParamGenerator<IntWrapper>::iterator it = gen.begin();
326
-
327
- ASSERT_FALSE(it == gen.end());
328
- EXPECT_EQ(0, it->value());
329
-
330
- ASSERT_FALSE(++it == gen.end());
331
- EXPECT_EQ(1, it->value());
332
-
333
- EXPECT_TRUE(++it == gen.end());
334
- }
335
-
336
- // Tests that ValuesIn() with an array parameter generates
337
- // the expected sequence.
338
- TEST(ValuesInTest, ValuesInArray) {
339
- int array[] = {3, 5, 8};
340
- const ParamGenerator<int> gen = ValuesIn(array);
341
- VerifyGenerator(gen, array);
342
- }
343
-
344
- // Tests that ValuesIn() with a const array parameter generates
345
- // the expected sequence.
346
- TEST(ValuesInTest, ValuesInConstArray) {
347
- const int array[] = {3, 5, 8};
348
- const ParamGenerator<int> gen = ValuesIn(array);
349
- VerifyGenerator(gen, array);
350
- }
351
-
352
- // Edge case. Tests that ValuesIn() with an array parameter containing a
353
- // single element generates the single element sequence.
354
- TEST(ValuesInTest, ValuesInSingleElementArray) {
355
- int array[] = {42};
356
- const ParamGenerator<int> gen = ValuesIn(array);
357
- VerifyGenerator(gen, array);
358
- }
359
-
360
- // Tests that ValuesIn() generates the expected sequence for an STL
361
- // container (vector).
362
- TEST(ValuesInTest, ValuesInVector) {
363
- typedef ::std::vector<int> ContainerType;
364
- ContainerType values;
365
- values.push_back(3);
366
- values.push_back(5);
367
- values.push_back(8);
368
- const ParamGenerator<int> gen = ValuesIn(values);
369
-
370
- const int expected_values[] = {3, 5, 8};
371
- VerifyGenerator(gen, expected_values);
372
- }
373
-
374
- // Tests that ValuesIn() generates the expected sequence.
375
- TEST(ValuesInTest, ValuesInIteratorRange) {
376
- typedef ::std::vector<int> ContainerType;
377
- ContainerType values;
378
- values.push_back(3);
379
- values.push_back(5);
380
- values.push_back(8);
381
- const ParamGenerator<int> gen = ValuesIn(values.begin(), values.end());
382
-
383
- const int expected_values[] = {3, 5, 8};
384
- VerifyGenerator(gen, expected_values);
385
- }
386
-
387
- // Edge case. Tests that ValuesIn() provided with an iterator range specifying a
388
- // single value generates a single-element sequence.
389
- TEST(ValuesInTest, ValuesInSingleElementIteratorRange) {
390
- typedef ::std::vector<int> ContainerType;
391
- ContainerType values;
392
- values.push_back(42);
393
- const ParamGenerator<int> gen = ValuesIn(values.begin(), values.end());
394
-
395
- const int expected_values[] = {42};
396
- VerifyGenerator(gen, expected_values);
397
- }
398
-
399
- // Edge case. Tests that ValuesIn() provided with an empty iterator range
400
- // generates an empty sequence.
401
- TEST(ValuesInTest, ValuesInEmptyIteratorRange) {
402
- typedef ::std::vector<int> ContainerType;
403
- ContainerType values;
404
- const ParamGenerator<int> gen = ValuesIn(values.begin(), values.end());
405
-
406
- VerifyGeneratorIsEmpty(gen);
407
- }
408
-
409
- // Tests that the Values() generates the expected sequence.
410
- TEST(ValuesTest, ValuesWorks) {
411
- const ParamGenerator<int> gen = Values(3, 5, 8);
412
-
413
- const int expected_values[] = {3, 5, 8};
414
- VerifyGenerator(gen, expected_values);
415
- }
416
-
417
- // Tests that Values() generates the expected sequences from elements of
418
- // different types convertible to ParamGenerator's parameter type.
419
- TEST(ValuesTest, ValuesWorksForValuesOfCompatibleTypes) {
420
- const ParamGenerator<double> gen = Values(3, 5.0f, 8.0);
421
-
422
- const double expected_values[] = {3.0, 5.0, 8.0};
423
- VerifyGenerator(gen, expected_values);
424
- }
425
-
426
- TEST(ValuesTest, ValuesWorksForMaxLengthList) {
427
- const ParamGenerator<int> gen = Values(
428
- 10, 20, 30, 40, 50, 60, 70, 80, 90, 100,
429
- 110, 120, 130, 140, 150, 160, 170, 180, 190, 200,
430
- 210, 220, 230, 240, 250, 260, 270, 280, 290, 300,
431
- 310, 320, 330, 340, 350, 360, 370, 380, 390, 400,
432
- 410, 420, 430, 440, 450, 460, 470, 480, 490, 500);
433
-
434
- const int expected_values[] = {
435
- 10, 20, 30, 40, 50, 60, 70, 80, 90, 100,
436
- 110, 120, 130, 140, 150, 160, 170, 180, 190, 200,
437
- 210, 220, 230, 240, 250, 260, 270, 280, 290, 300,
438
- 310, 320, 330, 340, 350, 360, 370, 380, 390, 400,
439
- 410, 420, 430, 440, 450, 460, 470, 480, 490, 500};
440
- VerifyGenerator(gen, expected_values);
441
- }
442
-
443
- // Edge case test. Tests that single-parameter Values() generates the sequence
444
- // with the single value.
445
- TEST(ValuesTest, ValuesWithSingleParameter) {
446
- const ParamGenerator<int> gen = Values(42);
447
-
448
- const int expected_values[] = {42};
449
- VerifyGenerator(gen, expected_values);
450
- }
451
-
452
- // Tests that Bool() generates sequence (false, true).
453
- TEST(BoolTest, BoolWorks) {
454
- const ParamGenerator<bool> gen = Bool();
455
-
456
- const bool expected_values[] = {false, true};
457
- VerifyGenerator(gen, expected_values);
458
- }
459
-
460
- # if GTEST_HAS_COMBINE
461
-
462
- // Tests that Combine() with two parameters generates the expected sequence.
463
- TEST(CombineTest, CombineWithTwoParameters) {
464
- const char* foo = "foo";
465
- const char* bar = "bar";
466
- const ParamGenerator<tuple<const char*, int> > gen =
467
- Combine(Values(foo, bar), Values(3, 4));
468
-
469
- tuple<const char*, int> expected_values[] = {
470
- make_tuple(foo, 3), make_tuple(foo, 4),
471
- make_tuple(bar, 3), make_tuple(bar, 4)};
472
- VerifyGenerator(gen, expected_values);
473
- }
474
-
475
- // Tests that Combine() with three parameters generates the expected sequence.
476
- TEST(CombineTest, CombineWithThreeParameters) {
477
- const ParamGenerator<tuple<int, int, int> > gen = Combine(Values(0, 1),
478
- Values(3, 4),
479
- Values(5, 6));
480
- tuple<int, int, int> expected_values[] = {
481
- make_tuple(0, 3, 5), make_tuple(0, 3, 6),
482
- make_tuple(0, 4, 5), make_tuple(0, 4, 6),
483
- make_tuple(1, 3, 5), make_tuple(1, 3, 6),
484
- make_tuple(1, 4, 5), make_tuple(1, 4, 6)};
485
- VerifyGenerator(gen, expected_values);
486
- }
487
-
488
- // Tests that the Combine() with the first parameter generating a single value
489
- // sequence generates a sequence with the number of elements equal to the
490
- // number of elements in the sequence generated by the second parameter.
491
- TEST(CombineTest, CombineWithFirstParameterSingleValue) {
492
- const ParamGenerator<tuple<int, int> > gen = Combine(Values(42),
493
- Values(0, 1));
494
-
495
- tuple<int, int> expected_values[] = {make_tuple(42, 0), make_tuple(42, 1)};
496
- VerifyGenerator(gen, expected_values);
497
- }
498
-
499
- // Tests that the Combine() with the second parameter generating a single value
500
- // sequence generates a sequence with the number of elements equal to the
501
- // number of elements in the sequence generated by the first parameter.
502
- TEST(CombineTest, CombineWithSecondParameterSingleValue) {
503
- const ParamGenerator<tuple<int, int> > gen = Combine(Values(0, 1),
504
- Values(42));
505
-
506
- tuple<int, int> expected_values[] = {make_tuple(0, 42), make_tuple(1, 42)};
507
- VerifyGenerator(gen, expected_values);
508
- }
509
-
510
- // Tests that when the first parameter produces an empty sequence,
511
- // Combine() produces an empty sequence, too.
512
- TEST(CombineTest, CombineWithFirstParameterEmptyRange) {
513
- const ParamGenerator<tuple<int, int> > gen = Combine(Range(0, 0),
514
- Values(0, 1));
515
- VerifyGeneratorIsEmpty(gen);
516
- }
517
-
518
- // Tests that when the second parameter produces an empty sequence,
519
- // Combine() produces an empty sequence, too.
520
- TEST(CombineTest, CombineWithSecondParameterEmptyRange) {
521
- const ParamGenerator<tuple<int, int> > gen = Combine(Values(0, 1),
522
- Range(1, 1));
523
- VerifyGeneratorIsEmpty(gen);
524
- }
525
-
526
- // Edge case. Tests that combine works with the maximum number
527
- // of parameters supported by Google Test (currently 10).
528
- TEST(CombineTest, CombineWithMaxNumberOfParameters) {
529
- const char* foo = "foo";
530
- const char* bar = "bar";
531
- const ParamGenerator<tuple<const char*, int, int, int, int, int, int, int,
532
- int, int> > gen = Combine(Values(foo, bar),
533
- Values(1), Values(2),
534
- Values(3), Values(4),
535
- Values(5), Values(6),
536
- Values(7), Values(8),
537
- Values(9));
538
-
539
- tuple<const char*, int, int, int, int, int, int, int, int, int>
540
- expected_values[] = {make_tuple(foo, 1, 2, 3, 4, 5, 6, 7, 8, 9),
541
- make_tuple(bar, 1, 2, 3, 4, 5, 6, 7, 8, 9)};
542
- VerifyGenerator(gen, expected_values);
543
- }
544
-
545
- # endif // GTEST_HAS_COMBINE
546
-
547
- // Tests that an generator produces correct sequence after being
548
- // assigned from another generator.
549
- TEST(ParamGeneratorTest, AssignmentWorks) {
550
- ParamGenerator<int> gen = Values(1, 2);
551
- const ParamGenerator<int> gen2 = Values(3, 4);
552
- gen = gen2;
553
-
554
- const int expected_values[] = {3, 4};
555
- VerifyGenerator(gen, expected_values);
556
- }
557
-
558
- // This test verifies that the tests are expanded and run as specified:
559
- // one test per element from the sequence produced by the generator
560
- // specified in INSTANTIATE_TEST_CASE_P. It also verifies that the test's
561
- // fixture constructor, SetUp(), and TearDown() have run and have been
562
- // supplied with the correct parameters.
563
-
564
- // The use of environment object allows detection of the case where no test
565
- // case functionality is run at all. In this case TestCaseTearDown will not
566
- // be able to detect missing tests, naturally.
567
- template <int kExpectedCalls>
568
- class TestGenerationEnvironment : public ::testing::Environment {
569
- public:
570
- static TestGenerationEnvironment* Instance() {
571
- static TestGenerationEnvironment* instance = new TestGenerationEnvironment;
572
- return instance;
573
- }
574
-
575
- void FixtureConstructorExecuted() { fixture_constructor_count_++; }
576
- void SetUpExecuted() { set_up_count_++; }
577
- void TearDownExecuted() { tear_down_count_++; }
578
- void TestBodyExecuted() { test_body_count_++; }
579
-
580
- virtual void TearDown() {
581
- // If all MultipleTestGenerationTest tests have been de-selected
582
- // by the filter flag, the following checks make no sense.
583
- bool perform_check = false;
584
-
585
- for (int i = 0; i < kExpectedCalls; ++i) {
586
- Message msg;
587
- msg << "TestsExpandedAndRun/" << i;
588
- if (UnitTestOptions::FilterMatchesTest(
589
- "TestExpansionModule/MultipleTestGenerationTest",
590
- msg.GetString().c_str())) {
591
- perform_check = true;
592
- }
593
- }
594
- if (perform_check) {
595
- EXPECT_EQ(kExpectedCalls, fixture_constructor_count_)
596
- << "Fixture constructor of ParamTestGenerationTest test case "
597
- << "has not been run as expected.";
598
- EXPECT_EQ(kExpectedCalls, set_up_count_)
599
- << "Fixture SetUp method of ParamTestGenerationTest test case "
600
- << "has not been run as expected.";
601
- EXPECT_EQ(kExpectedCalls, tear_down_count_)
602
- << "Fixture TearDown method of ParamTestGenerationTest test case "
603
- << "has not been run as expected.";
604
- EXPECT_EQ(kExpectedCalls, test_body_count_)
605
- << "Test in ParamTestGenerationTest test case "
606
- << "has not been run as expected.";
607
- }
608
- }
609
-
610
- private:
611
- TestGenerationEnvironment() : fixture_constructor_count_(0), set_up_count_(0),
612
- tear_down_count_(0), test_body_count_(0) {}
613
-
614
- int fixture_constructor_count_;
615
- int set_up_count_;
616
- int tear_down_count_;
617
- int test_body_count_;
618
-
619
- GTEST_DISALLOW_COPY_AND_ASSIGN_(TestGenerationEnvironment);
620
- };
621
-
622
- const int test_generation_params[] = {36, 42, 72};
623
-
624
- class TestGenerationTest : public TestWithParam<int> {
625
- public:
626
- enum {
627
- PARAMETER_COUNT =
628
- sizeof(test_generation_params)/sizeof(test_generation_params[0])
629
- };
630
-
631
- typedef TestGenerationEnvironment<PARAMETER_COUNT> Environment;
632
-
633
- TestGenerationTest() {
634
- Environment::Instance()->FixtureConstructorExecuted();
635
- current_parameter_ = GetParam();
636
- }
637
- virtual void SetUp() {
638
- Environment::Instance()->SetUpExecuted();
639
- EXPECT_EQ(current_parameter_, GetParam());
640
- }
641
- virtual void TearDown() {
642
- Environment::Instance()->TearDownExecuted();
643
- EXPECT_EQ(current_parameter_, GetParam());
644
- }
645
-
646
- static void SetUpTestCase() {
647
- bool all_tests_in_test_case_selected = true;
648
-
649
- for (int i = 0; i < PARAMETER_COUNT; ++i) {
650
- Message test_name;
651
- test_name << "TestsExpandedAndRun/" << i;
652
- if ( !UnitTestOptions::FilterMatchesTest(
653
- "TestExpansionModule/MultipleTestGenerationTest",
654
- test_name.GetString())) {
655
- all_tests_in_test_case_selected = false;
656
- }
657
- }
658
- EXPECT_TRUE(all_tests_in_test_case_selected)
659
- << "When running the TestGenerationTest test case all of its tests\n"
660
- << "must be selected by the filter flag for the test case to pass.\n"
661
- << "If not all of them are enabled, we can't reliably conclude\n"
662
- << "that the correct number of tests have been generated.";
663
-
664
- collected_parameters_.clear();
665
- }
666
-
667
- static void TearDownTestCase() {
668
- vector<int> expected_values(test_generation_params,
669
- test_generation_params + PARAMETER_COUNT);
670
- // Test execution order is not guaranteed by Google Test,
671
- // so the order of values in collected_parameters_ can be
672
- // different and we have to sort to compare.
673
- sort(expected_values.begin(), expected_values.end());
674
- sort(collected_parameters_.begin(), collected_parameters_.end());
675
-
676
- EXPECT_TRUE(collected_parameters_ == expected_values);
677
- }
678
-
679
- protected:
680
- int current_parameter_;
681
- static vector<int> collected_parameters_;
682
-
683
- private:
684
- GTEST_DISALLOW_COPY_AND_ASSIGN_(TestGenerationTest);
685
- };
686
- vector<int> TestGenerationTest::collected_parameters_;
687
-
688
- TEST_P(TestGenerationTest, TestsExpandedAndRun) {
689
- Environment::Instance()->TestBodyExecuted();
690
- EXPECT_EQ(current_parameter_, GetParam());
691
- collected_parameters_.push_back(GetParam());
692
- }
693
- INSTANTIATE_TEST_CASE_P(TestExpansionModule, TestGenerationTest,
694
- ValuesIn(test_generation_params));
695
-
696
- // This test verifies that the element sequence (third parameter of
697
- // INSTANTIATE_TEST_CASE_P) is evaluated in InitGoogleTest() and neither at
698
- // the call site of INSTANTIATE_TEST_CASE_P nor in RUN_ALL_TESTS(). For
699
- // that, we declare param_value_ to be a static member of
700
- // GeneratorEvaluationTest and initialize it to 0. We set it to 1 in
701
- // main(), just before invocation of InitGoogleTest(). After calling
702
- // InitGoogleTest(), we set the value to 2. If the sequence is evaluated
703
- // before or after InitGoogleTest, INSTANTIATE_TEST_CASE_P will create a
704
- // test with parameter other than 1, and the test body will fail the
705
- // assertion.
706
- class GeneratorEvaluationTest : public TestWithParam<int> {
707
- public:
708
- static int param_value() { return param_value_; }
709
- static void set_param_value(int param_value) { param_value_ = param_value; }
710
-
711
- private:
712
- static int param_value_;
713
- };
714
- int GeneratorEvaluationTest::param_value_ = 0;
715
-
716
- TEST_P(GeneratorEvaluationTest, GeneratorsEvaluatedInMain) {
717
- EXPECT_EQ(1, GetParam());
718
- }
719
- INSTANTIATE_TEST_CASE_P(GenEvalModule,
720
- GeneratorEvaluationTest,
721
- Values(GeneratorEvaluationTest::param_value()));
722
-
723
- // Tests that generators defined in a different translation unit are
724
- // functional. Generator extern_gen is defined in gtest-param-test_test2.cc.
725
- extern ParamGenerator<int> extern_gen;
726
- class ExternalGeneratorTest : public TestWithParam<int> {};
727
- TEST_P(ExternalGeneratorTest, ExternalGenerator) {
728
- // Sequence produced by extern_gen contains only a single value
729
- // which we verify here.
730
- EXPECT_EQ(GetParam(), 33);
731
- }
732
- INSTANTIATE_TEST_CASE_P(ExternalGeneratorModule,
733
- ExternalGeneratorTest,
734
- extern_gen);
735
-
736
- // Tests that a parameterized test case can be defined in one translation
737
- // unit and instantiated in another. This test will be instantiated in
738
- // gtest-param-test_test2.cc. ExternalInstantiationTest fixture class is
739
- // defined in gtest-param-test_test.h.
740
- TEST_P(ExternalInstantiationTest, IsMultipleOf33) {
741
- EXPECT_EQ(0, GetParam() % 33);
742
- }
743
-
744
- // Tests that a parameterized test case can be instantiated with multiple
745
- // generators.
746
- class MultipleInstantiationTest : public TestWithParam<int> {};
747
- TEST_P(MultipleInstantiationTest, AllowsMultipleInstances) {
748
- }
749
- INSTANTIATE_TEST_CASE_P(Sequence1, MultipleInstantiationTest, Values(1, 2));
750
- INSTANTIATE_TEST_CASE_P(Sequence2, MultipleInstantiationTest, Range(3, 5));
751
-
752
- // Tests that a parameterized test case can be instantiated
753
- // in multiple translation units. This test will be instantiated
754
- // here and in gtest-param-test_test2.cc.
755
- // InstantiationInMultipleTranslationUnitsTest fixture class
756
- // is defined in gtest-param-test_test.h.
757
- TEST_P(InstantiationInMultipleTranslaionUnitsTest, IsMultipleOf42) {
758
- EXPECT_EQ(0, GetParam() % 42);
759
- }
760
- INSTANTIATE_TEST_CASE_P(Sequence1,
761
- InstantiationInMultipleTranslaionUnitsTest,
762
- Values(42, 42*2));
763
-
764
- // Tests that each iteration of parameterized test runs in a separate test
765
- // object.
766
- class SeparateInstanceTest : public TestWithParam<int> {
767
- public:
768
- SeparateInstanceTest() : count_(0) {}
769
-
770
- static void TearDownTestCase() {
771
- EXPECT_GE(global_count_, 2)
772
- << "If some (but not all) SeparateInstanceTest tests have been "
773
- << "filtered out this test will fail. Make sure that all "
774
- << "GeneratorEvaluationTest are selected or de-selected together "
775
- << "by the test filter.";
776
- }
777
-
778
- protected:
779
- int count_;
780
- static int global_count_;
781
- };
782
- int SeparateInstanceTest::global_count_ = 0;
783
-
784
- TEST_P(SeparateInstanceTest, TestsRunInSeparateInstances) {
785
- EXPECT_EQ(0, count_++);
786
- global_count_++;
787
- }
788
- INSTANTIATE_TEST_CASE_P(FourElemSequence, SeparateInstanceTest, Range(1, 4));
789
-
790
- // Tests that all instantiations of a test have named appropriately. Test
791
- // defined with TEST_P(TestCaseName, TestName) and instantiated with
792
- // INSTANTIATE_TEST_CASE_P(SequenceName, TestCaseName, generator) must be named
793
- // SequenceName/TestCaseName.TestName/i, where i is the 0-based index of the
794
- // sequence element used to instantiate the test.
795
- class NamingTest : public TestWithParam<int> {};
796
-
797
- TEST_P(NamingTest, TestsReportCorrectNamesAndParameters) {
798
- const ::testing::TestInfo* const test_info =
799
- ::testing::UnitTest::GetInstance()->current_test_info();
800
-
801
- EXPECT_STREQ("ZeroToFiveSequence/NamingTest", test_info->test_case_name());
802
-
803
- Message index_stream;
804
- index_stream << "TestsReportCorrectNamesAndParameters/" << GetParam();
805
- EXPECT_STREQ(index_stream.GetString().c_str(), test_info->name());
806
-
807
- EXPECT_EQ(::testing::PrintToString(GetParam()), test_info->value_param());
808
- }
809
-
810
- INSTANTIATE_TEST_CASE_P(ZeroToFiveSequence, NamingTest, Range(0, 5));
811
-
812
- // Tests that user supplied custom parameter names are working correctly.
813
- // Runs the test with a builtin helper method which uses PrintToString,
814
- // as well as a custom function and custom functor to ensure all possible
815
- // uses work correctly.
816
- class CustomFunctorNamingTest : public TestWithParam<std::string> {};
817
- TEST_P(CustomFunctorNamingTest, CustomTestNames) {}
818
-
819
- struct CustomParamNameFunctor {
820
- std::string operator()(const ::testing::TestParamInfo<std::string>& info) {
821
- return info.param;
822
- }
823
- };
824
-
825
- INSTANTIATE_TEST_CASE_P(CustomParamNameFunctor,
826
- CustomFunctorNamingTest,
827
- Values(std::string("FunctorName")),
828
- CustomParamNameFunctor());
829
-
830
- INSTANTIATE_TEST_CASE_P(AllAllowedCharacters,
831
- CustomFunctorNamingTest,
832
- Values("abcdefghijklmnopqrstuvwxyz",
833
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
834
- "01234567890_"),
835
- CustomParamNameFunctor());
836
-
837
- inline std::string CustomParamNameFunction(
838
- const ::testing::TestParamInfo<std::string>& info) {
839
- return info.param;
840
- }
841
-
842
- class CustomFunctionNamingTest : public TestWithParam<std::string> {};
843
- TEST_P(CustomFunctionNamingTest, CustomTestNames) {}
844
-
845
- INSTANTIATE_TEST_CASE_P(CustomParamNameFunction,
846
- CustomFunctionNamingTest,
847
- Values(std::string("FunctionName")),
848
- CustomParamNameFunction);
849
-
850
- #if GTEST_LANG_CXX11
851
-
852
- // Test custom naming with a lambda
853
-
854
- class CustomLambdaNamingTest : public TestWithParam<std::string> {};
855
- TEST_P(CustomLambdaNamingTest, CustomTestNames) {}
856
-
857
- INSTANTIATE_TEST_CASE_P(CustomParamNameLambda,
858
- CustomLambdaNamingTest,
859
- Values(std::string("LambdaName")),
860
- [](const ::testing::TestParamInfo<std::string>& info) {
861
- return info.param;
862
- });
863
-
864
- #endif // GTEST_LANG_CXX11
865
-
866
- TEST(CustomNamingTest, CheckNameRegistry) {
867
- ::testing::UnitTest* unit_test = ::testing::UnitTest::GetInstance();
868
- std::set<std::string> test_names;
869
- for (int case_num = 0;
870
- case_num < unit_test->total_test_case_count();
871
- ++case_num) {
872
- const ::testing::TestCase* test_case = unit_test->GetTestCase(case_num);
873
- for (int test_num = 0;
874
- test_num < test_case->total_test_count();
875
- ++test_num) {
876
- const ::testing::TestInfo* test_info = test_case->GetTestInfo(test_num);
877
- test_names.insert(std::string(test_info->name()));
878
- }
879
- }
880
- EXPECT_EQ(1u, test_names.count("CustomTestNames/FunctorName"));
881
- EXPECT_EQ(1u, test_names.count("CustomTestNames/FunctionName"));
882
- #if GTEST_LANG_CXX11
883
- EXPECT_EQ(1u, test_names.count("CustomTestNames/LambdaName"));
884
- #endif // GTEST_LANG_CXX11
885
- }
886
-
887
- // Test a numeric name to ensure PrintToStringParamName works correctly.
888
-
889
- class CustomIntegerNamingTest : public TestWithParam<int> {};
890
-
891
- TEST_P(CustomIntegerNamingTest, TestsReportCorrectNames) {
892
- const ::testing::TestInfo* const test_info =
893
- ::testing::UnitTest::GetInstance()->current_test_info();
894
- Message test_name_stream;
895
- test_name_stream << "TestsReportCorrectNames/" << GetParam();
896
- EXPECT_STREQ(test_name_stream.GetString().c_str(), test_info->name());
897
- }
898
-
899
- INSTANTIATE_TEST_CASE_P(PrintToString,
900
- CustomIntegerNamingTest,
901
- Range(0, 5),
902
- ::testing::PrintToStringParamName());
903
-
904
- // Test a custom struct with PrintToString.
905
-
906
- struct CustomStruct {
907
- explicit CustomStruct(int value) : x(value) {}
908
- int x;
909
- };
910
-
911
- std::ostream& operator<<(std::ostream& stream, const CustomStruct& val) {
912
- stream << val.x;
913
- return stream;
914
- }
915
-
916
- class CustomStructNamingTest : public TestWithParam<CustomStruct> {};
917
-
918
- TEST_P(CustomStructNamingTest, TestsReportCorrectNames) {
919
- const ::testing::TestInfo* const test_info =
920
- ::testing::UnitTest::GetInstance()->current_test_info();
921
- Message test_name_stream;
922
- test_name_stream << "TestsReportCorrectNames/" << GetParam();
923
- EXPECT_STREQ(test_name_stream.GetString().c_str(), test_info->name());
924
- }
925
-
926
- INSTANTIATE_TEST_CASE_P(PrintToString,
927
- CustomStructNamingTest,
928
- Values(CustomStruct(0), CustomStruct(1)),
929
- ::testing::PrintToStringParamName());
930
-
931
- // Test that using a stateful parameter naming function works as expected.
932
-
933
- struct StatefulNamingFunctor {
934
- StatefulNamingFunctor() : sum(0) {}
935
- std::string operator()(const ::testing::TestParamInfo<int>& info) {
936
- int value = info.param + sum;
937
- sum += info.param;
938
- return ::testing::PrintToString(value);
939
- }
940
- int sum;
941
- };
942
-
943
- class StatefulNamingTest : public ::testing::TestWithParam<int> {
944
- protected:
945
- StatefulNamingTest() : sum_(0) {}
946
- int sum_;
947
- };
948
-
949
- TEST_P(StatefulNamingTest, TestsReportCorrectNames) {
950
- const ::testing::TestInfo* const test_info =
951
- ::testing::UnitTest::GetInstance()->current_test_info();
952
- sum_ += GetParam();
953
- Message test_name_stream;
954
- test_name_stream << "TestsReportCorrectNames/" << sum_;
955
- EXPECT_STREQ(test_name_stream.GetString().c_str(), test_info->name());
956
- }
957
-
958
- INSTANTIATE_TEST_CASE_P(StatefulNamingFunctor,
959
- StatefulNamingTest,
960
- Range(0, 5),
961
- StatefulNamingFunctor());
962
-
963
- // Class that cannot be streamed into an ostream. It needs to be copyable
964
- // (and, in case of MSVC, also assignable) in order to be a test parameter
965
- // type. Its default copy constructor and assignment operator do exactly
966
- // what we need.
967
- class Unstreamable {
968
- public:
969
- explicit Unstreamable(int value) : value_(value) {}
970
-
971
- private:
972
- int value_;
973
- };
974
-
975
- class CommentTest : public TestWithParam<Unstreamable> {};
976
-
977
- TEST_P(CommentTest, TestsCorrectlyReportUnstreamableParams) {
978
- const ::testing::TestInfo* const test_info =
979
- ::testing::UnitTest::GetInstance()->current_test_info();
980
-
981
- EXPECT_EQ(::testing::PrintToString(GetParam()), test_info->value_param());
982
- }
983
-
984
- INSTANTIATE_TEST_CASE_P(InstantiationWithComments,
985
- CommentTest,
986
- Values(Unstreamable(1)));
987
-
988
- // Verify that we can create a hierarchy of test fixtures, where the base
989
- // class fixture is not parameterized and the derived class is. In this case
990
- // ParameterizedDerivedTest inherits from NonParameterizedBaseTest. We
991
- // perform simple tests on both.
992
- class NonParameterizedBaseTest : public ::testing::Test {
993
- public:
994
- NonParameterizedBaseTest() : n_(17) { }
995
- protected:
996
- int n_;
997
- };
998
-
999
- class ParameterizedDerivedTest : public NonParameterizedBaseTest,
1000
- public ::testing::WithParamInterface<int> {
1001
- protected:
1002
- ParameterizedDerivedTest() : count_(0) { }
1003
- int count_;
1004
- static int global_count_;
1005
- };
1006
-
1007
- int ParameterizedDerivedTest::global_count_ = 0;
1008
-
1009
- TEST_F(NonParameterizedBaseTest, FixtureIsInitialized) {
1010
- EXPECT_EQ(17, n_);
1011
- }
1012
-
1013
- TEST_P(ParameterizedDerivedTest, SeesSequence) {
1014
- EXPECT_EQ(17, n_);
1015
- EXPECT_EQ(0, count_++);
1016
- EXPECT_EQ(GetParam(), global_count_++);
1017
- }
1018
-
1019
- class ParameterizedDeathTest : public ::testing::TestWithParam<int> { };
1020
-
1021
- TEST_F(ParameterizedDeathTest, GetParamDiesFromTestF) {
1022
- EXPECT_DEATH_IF_SUPPORTED(GetParam(),
1023
- ".* value-parameterized test .*");
1024
- }
1025
-
1026
- INSTANTIATE_TEST_CASE_P(RangeZeroToFive, ParameterizedDerivedTest, Range(0, 5));
1027
-
1028
- #endif // GTEST_HAS_PARAM_TEST
1029
-
1030
- TEST(CompileTest, CombineIsDefinedOnlyWhenGtestHasParamTestIsDefined) {
1031
- #if GTEST_HAS_COMBINE && !GTEST_HAS_PARAM_TEST
1032
- FAIL() << "GTEST_HAS_COMBINE is defined while GTEST_HAS_PARAM_TEST is not\n"
1033
- #endif
1034
- }
1035
-
1036
- int main(int argc, char **argv) {
1037
- #if GTEST_HAS_PARAM_TEST
1038
- // Used in TestGenerationTest test case.
1039
- AddGlobalTestEnvironment(TestGenerationTest::Environment::Instance());
1040
- // Used in GeneratorEvaluationTest test case. Tests that the updated value
1041
- // will be picked up for instantiating tests in GeneratorEvaluationTest.
1042
- GeneratorEvaluationTest::set_param_value(1);
1043
- #endif // GTEST_HAS_PARAM_TEST
1044
-
1045
- ::testing::InitGoogleTest(&argc, argv);
1046
-
1047
- #if GTEST_HAS_PARAM_TEST
1048
- // Used in GeneratorEvaluationTest test case. Tests that value updated
1049
- // here will NOT be used for instantiating tests in
1050
- // GeneratorEvaluationTest.
1051
- GeneratorEvaluationTest::set_param_value(2);
1052
- #endif // GTEST_HAS_PARAM_TEST
1053
-
1054
- return RUN_ALL_TESTS();
1055
- }