rj_schema 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (323) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +4 -0
  3. data/ext/rj_schema/rapidjson/thirdparty/gtest/CMakeLists.txt +16 -0
  4. data/ext/rj_schema/rapidjson/thirdparty/gtest/README.md +141 -0
  5. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CHANGES +126 -0
  6. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CMakeLists.txt +202 -0
  7. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CONTRIBUTORS +40 -0
  8. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/LICENSE +28 -0
  9. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/Makefile.am +224 -0
  10. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/README.md +333 -0
  11. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/configure.ac +146 -0
  12. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CheatSheet.md +562 -0
  13. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CookBook.md +3675 -0
  14. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DesignDoc.md +280 -0
  15. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DevGuide.md +132 -0
  16. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/Documentation.md +12 -0
  17. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/ForDummies.md +439 -0
  18. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/FrequentlyAskedQuestions.md +628 -0
  19. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/KnownIssues.md +19 -0
  20. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CheatSheet.md +525 -0
  21. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CookBook.md +3250 -0
  22. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/Documentation.md +11 -0
  23. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/ForDummies.md +439 -0
  24. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +624 -0
  25. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CheatSheet.md +534 -0
  26. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CookBook.md +3342 -0
  27. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/Documentation.md +12 -0
  28. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/ForDummies.md +439 -0
  29. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +628 -0
  30. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CheatSheet.md +556 -0
  31. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CookBook.md +3432 -0
  32. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/Documentation.md +12 -0
  33. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/ForDummies.md +439 -0
  34. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +628 -0
  35. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-actions.h +1205 -0
  36. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-cardinalities.h +147 -0
  37. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h +2377 -0
  38. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump +794 -0
  39. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h +1095 -0
  40. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +291 -0
  41. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h +2179 -0
  42. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump +672 -0
  43. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h +397 -0
  44. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +161 -0
  45. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-matchers.h +4399 -0
  46. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-actions.h +246 -0
  47. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h +58 -0
  48. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h +1847 -0
  49. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock.h +94 -0
  50. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +8 -0
  51. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +10 -0
  52. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h +39 -0
  53. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-port.h +46 -0
  54. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +279 -0
  55. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +136 -0
  56. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h +511 -0
  57. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h +91 -0
  58. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/make/Makefile +101 -0
  59. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.sln +32 -0
  60. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.vcproj +191 -0
  61. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_config.vsprops +15 -0
  62. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_main.vcproj +187 -0
  63. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_test.vcproj +201 -0
  64. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln +32 -0
  65. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj +82 -0
  66. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props +19 -0
  67. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj +88 -0
  68. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj +101 -0
  69. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.sln +32 -0
  70. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.vcxproj +84 -0
  71. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_config.props +19 -0
  72. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_main.vcxproj +90 -0
  73. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_test.vcxproj +103 -0
  74. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/fuse_gmock_files.py +240 -0
  75. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/LICENSE +203 -0
  76. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README +35 -0
  77. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README.cppclean +115 -0
  78. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/__init__.py +0 -0
  79. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/ast.py +1733 -0
  80. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class.py +227 -0
  81. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class_test.py +448 -0
  82. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/keywords.py +59 -0
  83. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/tokenize.py +287 -0
  84. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/utils.py +41 -0
  85. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/gmock_gen.py +31 -0
  86. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock-config.in +303 -0
  87. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/gmock_doctor.py +640 -0
  88. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload.py +1387 -0
  89. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/upload_gmock.py +78 -0
  90. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-all.cc +47 -0
  91. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-cardinalities.cc +156 -0
  92. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-internal-utils.cc +174 -0
  93. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-matchers.cc +498 -0
  94. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-spec-builders.cc +823 -0
  95. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock.cc +183 -0
  96. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock_main.cc +54 -0
  97. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-actions_test.cc +1411 -0
  98. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-cardinalities_test.cc +428 -0
  99. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-actions_test.cc +1228 -0
  100. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-function-mockers_test.cc +622 -0
  101. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-internal-utils_test.cc +127 -0
  102. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-matchers_test.cc +1286 -0
  103. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-internal-utils_test.cc +699 -0
  104. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-matchers_test.cc +5648 -0
  105. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-more-actions_test.cc +708 -0
  106. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-nice-strict_test.cc +424 -0
  107. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-port_test.cc +43 -0
  108. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-spec-builders_test.cc +2644 -0
  109. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_all_test.cc +51 -0
  110. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_ex_test.cc +81 -0
  111. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test.py +108 -0
  112. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test_.cc +100 -0
  113. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link2_test.cc +40 -0
  114. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.cc +40 -0
  115. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.h +669 -0
  116. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test.py +180 -0
  117. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_.cc +291 -0
  118. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_golden.txt +310 -0
  119. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_stress_test.cc +322 -0
  120. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test.cc +220 -0
  121. data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test_utils.py +112 -0
  122. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CHANGES +157 -0
  123. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt +286 -0
  124. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CONTRIBUTORS +37 -0
  125. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/LICENSE +28 -0
  126. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/Makefile.am +310 -0
  127. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/README.md +280 -0
  128. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/cmake/internal_utils.cmake +242 -0
  129. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.cbproj +138 -0
  130. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest.groupproj +54 -0
  131. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_all.cc +38 -0
  132. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_link.cc +40 -0
  133. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_main.cbproj +82 -0
  134. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/codegear/gtest_unittest.cbproj +88 -0
  135. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/configure.ac +68 -0
  136. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/AdvancedGuide.md +2182 -0
  137. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/DevGuide.md +126 -0
  138. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Documentation.md +14 -0
  139. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/FAQ.md +1087 -0
  140. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Primer.md +502 -0
  141. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/PumpManual.md +177 -0
  142. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Samples.md +14 -0
  143. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_AdvancedGuide.md +2096 -0
  144. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Documentation.md +12 -0
  145. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_FAQ.md +886 -0
  146. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Primer.md +497 -0
  147. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_PumpManual.md +177 -0
  148. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_XcodeGuide.md +93 -0
  149. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_AdvancedGuide.md +2178 -0
  150. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Documentation.md +14 -0
  151. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_FAQ.md +1038 -0
  152. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Primer.md +501 -0
  153. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_PumpManual.md +177 -0
  154. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Samples.md +14 -0
  155. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_XcodeGuide.md +93 -0
  156. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_AdvancedGuide.md +2181 -0
  157. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Documentation.md +14 -0
  158. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_FAQ.md +1082 -0
  159. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Primer.md +501 -0
  160. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_PumpManual.md +177 -0
  161. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Samples.md +14 -0
  162. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_XcodeGuide.md +93 -0
  163. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/XcodeGuide.md +93 -0
  164. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-death-test.h +294 -0
  165. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-message.h +250 -0
  166. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h +1444 -0
  167. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  168. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-printers.h +993 -0
  169. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-spi.h +232 -0
  170. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-test-part.h +179 -0
  171. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h +263 -0
  172. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest.h +2236 -0
  173. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h +358 -0
  174. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_prod.h +58 -0
  175. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  176. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  177. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h +41 -0
  178. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  179. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  180. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  181. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  182. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  183. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  184. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  185. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  186. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h +2554 -0
  187. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h +167 -0
  188. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  189. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  190. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  191. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  192. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/acx_pthread.m4 +363 -0
  193. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/m4/gtest.m4 +74 -0
  194. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/make/Makefile +82 -0
  195. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.sln +45 -0
  196. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.vcproj +126 -0
  197. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.sln +45 -0
  198. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.vcproj +126 -0
  199. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main-md.vcproj +129 -0
  200. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main.vcproj +129 -0
  201. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test-md.vcproj +164 -0
  202. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test.vcproj +164 -0
  203. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest-md.vcproj +147 -0
  204. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest.vcproj +147 -0
  205. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/prime_tables.h +123 -0
  206. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.cc +68 -0
  207. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.h +43 -0
  208. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample10_unittest.cc +144 -0
  209. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1_unittest.cc +153 -0
  210. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.cc +56 -0
  211. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2.h +85 -0
  212. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2_unittest.cc +109 -0
  213. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3-inl.h +172 -0
  214. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3_unittest.cc +151 -0
  215. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.cc +46 -0
  216. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4.h +53 -0
  217. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4_unittest.cc +45 -0
  218. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample5_unittest.cc +199 -0
  219. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample6_unittest.cc +224 -0
  220. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample7_unittest.cc +130 -0
  221. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample8_unittest.cc +173 -0
  222. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample9_unittest.cc +160 -0
  223. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/common.py +83 -0
  224. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/fuse_gtest_files.py +253 -0
  225. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gen_gtest_pred_impl.py +730 -0
  226. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gtest-config.in +274 -0
  227. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/pump.py +855 -0
  228. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/release_docs.py +158 -0
  229. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/test/Makefile +59 -0
  230. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload.py +1387 -0
  231. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload_gtest.py +78 -0
  232. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-all.cc +48 -0
  233. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-death-test.cc +1342 -0
  234. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-filepath.cc +387 -0
  235. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-internal-inl.h +1183 -0
  236. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-port.cc +1259 -0
  237. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-printers.cc +373 -0
  238. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-test-part.cc +110 -0
  239. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-typed-test.cc +118 -0
  240. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest.cc +5388 -0
  241. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest_main.cc +38 -0
  242. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_ex_test.cc +93 -0
  243. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_test.cc +1427 -0
  244. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-filepath_test.cc +662 -0
  245. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-linked_ptr_test.cc +154 -0
  246. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-listener_test.cc +311 -0
  247. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-message_test.cc +159 -0
  248. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-options_test.cc +215 -0
  249. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test2_test.cc +65 -0
  250. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.cc +1055 -0
  251. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.h +57 -0
  252. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-port_test.cc +1304 -0
  253. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-printers_test.cc +1635 -0
  254. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-test-part_test.cc +208 -0
  255. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-tuple_test.cc +320 -0
  256. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test2_test.cc +45 -0
  257. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.cc +380 -0
  258. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.h +66 -0
  259. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-unittest-api_test.cc +341 -0
  260. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_all_test.cc +47 -0
  261. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest.py +212 -0
  262. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest_.cc +88 -0
  263. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test.py +237 -0
  264. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test_.cc +311 -0
  265. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test.py +130 -0
  266. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test_.cc +71 -0
  267. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test.py +117 -0
  268. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test_.cc +126 -0
  269. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_environment_test.cc +192 -0
  270. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest.py +636 -0
  271. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest_.cc +140 -0
  272. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test.py +172 -0
  273. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test_.cc +46 -0
  274. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest.py +207 -0
  275. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest_.cc +157 -0
  276. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_main_unittest.cc +45 -0
  277. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_no_test_unittest.cc +56 -0
  278. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test.py +340 -0
  279. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_.cc +1062 -0
  280. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_golden_lin.txt +743 -0
  281. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_pred_impl_unittest.cc +2427 -0
  282. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_premature_exit_test.cc +127 -0
  283. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_prod_test.cc +57 -0
  284. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_repeat_test.cc +253 -0
  285. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test.py +325 -0
  286. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test_.cc +103 -0
  287. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_sole_header_test.cc +57 -0
  288. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_stress_test.cc +256 -0
  289. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_test_utils.py +320 -0
  290. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_ex_test.cc +92 -0
  291. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test.py +171 -0
  292. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test_.cc +72 -0
  293. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test.py +70 -0
  294. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test_.cc +43 -0
  295. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_unittest.cc +7706 -0
  296. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile1_test_.cc +49 -0
  297. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile2_test_.cc +49 -0
  298. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfiles_test.py +132 -0
  299. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest.py +308 -0
  300. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest_.cc +181 -0
  301. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_test_utils.py +194 -0
  302. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.cc +36 -0
  303. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.h +55 -0
  304. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/DebugProject.xcconfig +30 -0
  305. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/FrameworkTarget.xcconfig +17 -0
  306. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/General.xcconfig +41 -0
  307. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/ReleaseProject.xcconfig +32 -0
  308. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +18 -0
  309. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Config/TestTarget.xcconfig +8 -0
  310. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Resources/Info.plist +30 -0
  311. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/Info.plist +28 -0
  312. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj +457 -0
  313. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/runtests.sh +62 -0
  314. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.cc +63 -0
  315. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.h +59 -0
  316. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget_test.cc +68 -0
  317. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/runtests.sh +65 -0
  318. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/versiongenerate.py +100 -0
  319. data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/gtest.xcodeproj/project.pbxproj +1135 -0
  320. data/ext/rj_schema/rapidjson/thirdparty/gtest/travis.sh +15 -0
  321. data/ext/rj_schema/rj_schema.cpp +64 -41
  322. data/lib/rj_schema.rb +1 -1
  323. metadata +378 -5
@@ -0,0 +1,510 @@
1
+ $$ -*- mode: c++; -*-
2
+ $var n = 50 $$ Maximum length of Values arguments we want to support.
3
+ $var maxtuple = 10 $$ Maximum number of Combine arguments we want to support.
4
+ // Copyright 2008, Google Inc.
5
+ // All rights reserved.
6
+ //
7
+ // Redistribution and use in source and binary forms, with or without
8
+ // modification, are permitted provided that the following conditions are
9
+ // met:
10
+ //
11
+ // * Redistributions of source code must retain the above copyright
12
+ // notice, this list of conditions and the following disclaimer.
13
+ // * Redistributions in binary form must reproduce the above
14
+ // copyright notice, this list of conditions and the following disclaimer
15
+ // in the documentation and/or other materials provided with the
16
+ // distribution.
17
+ // * Neither the name of Google Inc. nor the names of its
18
+ // contributors may be used to endorse or promote products derived from
19
+ // this software without specific prior written permission.
20
+ //
21
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ //
33
+ // Authors: vladl@google.com (Vlad Losev)
34
+ //
35
+ // Macros and functions for implementing parameterized tests
36
+ // in Google C++ Testing Framework (Google Test)
37
+ //
38
+ // This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
39
+ //
40
+ #ifndef GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_
41
+ #define GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_
42
+
43
+
44
+ // Value-parameterized tests allow you to test your code with different
45
+ // parameters without writing multiple copies of the same test.
46
+ //
47
+ // Here is how you use value-parameterized tests:
48
+
49
+ #if 0
50
+
51
+ // To write value-parameterized tests, first you should define a fixture
52
+ // class. It is usually derived from testing::TestWithParam<T> (see below for
53
+ // another inheritance scheme that's sometimes useful in more complicated
54
+ // class hierarchies), where the type of your parameter values.
55
+ // TestWithParam<T> is itself derived from testing::Test. T can be any
56
+ // copyable type. If it's a raw pointer, you are responsible for managing the
57
+ // lifespan of the pointed values.
58
+
59
+ class FooTest : public ::testing::TestWithParam<const char*> {
60
+ // You can implement all the usual class fixture members here.
61
+ };
62
+
63
+ // Then, use the TEST_P macro to define as many parameterized tests
64
+ // for this fixture as you want. The _P suffix is for "parameterized"
65
+ // or "pattern", whichever you prefer to think.
66
+
67
+ TEST_P(FooTest, DoesBlah) {
68
+ // Inside a test, access the test parameter with the GetParam() method
69
+ // of the TestWithParam<T> class:
70
+ EXPECT_TRUE(foo.Blah(GetParam()));
71
+ ...
72
+ }
73
+
74
+ TEST_P(FooTest, HasBlahBlah) {
75
+ ...
76
+ }
77
+
78
+ // Finally, you can use INSTANTIATE_TEST_CASE_P to instantiate the test
79
+ // case with any set of parameters you want. Google Test defines a number
80
+ // of functions for generating test parameters. They return what we call
81
+ // (surprise!) parameter generators. Here is a summary of them, which
82
+ // are all in the testing namespace:
83
+ //
84
+ //
85
+ // Range(begin, end [, step]) - Yields values {begin, begin+step,
86
+ // begin+step+step, ...}. The values do not
87
+ // include end. step defaults to 1.
88
+ // Values(v1, v2, ..., vN) - Yields values {v1, v2, ..., vN}.
89
+ // ValuesIn(container) - Yields values from a C-style array, an STL
90
+ // ValuesIn(begin,end) container, or an iterator range [begin, end).
91
+ // Bool() - Yields sequence {false, true}.
92
+ // Combine(g1, g2, ..., gN) - Yields all combinations (the Cartesian product
93
+ // for the math savvy) of the values generated
94
+ // by the N generators.
95
+ //
96
+ // For more details, see comments at the definitions of these functions below
97
+ // in this file.
98
+ //
99
+ // The following statement will instantiate tests from the FooTest test case
100
+ // each with parameter values "meeny", "miny", and "moe".
101
+
102
+ INSTANTIATE_TEST_CASE_P(InstantiationName,
103
+ FooTest,
104
+ Values("meeny", "miny", "moe"));
105
+
106
+ // To distinguish different instances of the pattern, (yes, you
107
+ // can instantiate it more then once) the first argument to the
108
+ // INSTANTIATE_TEST_CASE_P macro is a prefix that will be added to the
109
+ // actual test case name. Remember to pick unique prefixes for different
110
+ // instantiations. The tests from the instantiation above will have
111
+ // these names:
112
+ //
113
+ // * InstantiationName/FooTest.DoesBlah/0 for "meeny"
114
+ // * InstantiationName/FooTest.DoesBlah/1 for "miny"
115
+ // * InstantiationName/FooTest.DoesBlah/2 for "moe"
116
+ // * InstantiationName/FooTest.HasBlahBlah/0 for "meeny"
117
+ // * InstantiationName/FooTest.HasBlahBlah/1 for "miny"
118
+ // * InstantiationName/FooTest.HasBlahBlah/2 for "moe"
119
+ //
120
+ // You can use these names in --gtest_filter.
121
+ //
122
+ // This statement will instantiate all tests from FooTest again, each
123
+ // with parameter values "cat" and "dog":
124
+
125
+ const char* pets[] = {"cat", "dog"};
126
+ INSTANTIATE_TEST_CASE_P(AnotherInstantiationName, FooTest, ValuesIn(pets));
127
+
128
+ // The tests from the instantiation above will have these names:
129
+ //
130
+ // * AnotherInstantiationName/FooTest.DoesBlah/0 for "cat"
131
+ // * AnotherInstantiationName/FooTest.DoesBlah/1 for "dog"
132
+ // * AnotherInstantiationName/FooTest.HasBlahBlah/0 for "cat"
133
+ // * AnotherInstantiationName/FooTest.HasBlahBlah/1 for "dog"
134
+ //
135
+ // Please note that INSTANTIATE_TEST_CASE_P will instantiate all tests
136
+ // in the given test case, whether their definitions come before or
137
+ // AFTER the INSTANTIATE_TEST_CASE_P statement.
138
+ //
139
+ // Please also note that generator expressions (including parameters to the
140
+ // generators) are evaluated in InitGoogleTest(), after main() has started.
141
+ // This allows the user on one hand, to adjust generator parameters in order
142
+ // to dynamically determine a set of tests to run and on the other hand,
143
+ // give the user a chance to inspect the generated tests with Google Test
144
+ // reflection API before RUN_ALL_TESTS() is executed.
145
+ //
146
+ // You can see samples/sample7_unittest.cc and samples/sample8_unittest.cc
147
+ // for more examples.
148
+ //
149
+ // In the future, we plan to publish the API for defining new parameter
150
+ // generators. But for now this interface remains part of the internal
151
+ // implementation and is subject to change.
152
+ //
153
+ //
154
+ // A parameterized test fixture must be derived from testing::Test and from
155
+ // testing::WithParamInterface<T>, where T is the type of the parameter
156
+ // values. Inheriting from TestWithParam<T> satisfies that requirement because
157
+ // TestWithParam<T> inherits from both Test and WithParamInterface. In more
158
+ // complicated hierarchies, however, it is occasionally useful to inherit
159
+ // separately from Test and WithParamInterface. For example:
160
+
161
+ class BaseTest : public ::testing::Test {
162
+ // You can inherit all the usual members for a non-parameterized test
163
+ // fixture here.
164
+ };
165
+
166
+ class DerivedTest : public BaseTest, public ::testing::WithParamInterface<int> {
167
+ // The usual test fixture members go here too.
168
+ };
169
+
170
+ TEST_F(BaseTest, HasFoo) {
171
+ // This is an ordinary non-parameterized test.
172
+ }
173
+
174
+ TEST_P(DerivedTest, DoesBlah) {
175
+ // GetParam works just the same here as if you inherit from TestWithParam.
176
+ EXPECT_TRUE(foo.Blah(GetParam()));
177
+ }
178
+
179
+ #endif // 0
180
+
181
+ #include "gtest/internal/gtest-port.h"
182
+
183
+ #if !GTEST_OS_SYMBIAN
184
+ # include <utility>
185
+ #endif
186
+
187
+ // scripts/fuse_gtest.py depends on gtest's own header being #included
188
+ // *unconditionally*. Therefore these #includes cannot be moved
189
+ // inside #if GTEST_HAS_PARAM_TEST.
190
+ #include "gtest/internal/gtest-internal.h"
191
+ #include "gtest/internal/gtest-param-util.h"
192
+ #include "gtest/internal/gtest-param-util-generated.h"
193
+
194
+ #if GTEST_HAS_PARAM_TEST
195
+
196
+ namespace testing {
197
+
198
+ // Functions producing parameter generators.
199
+ //
200
+ // Google Test uses these generators to produce parameters for value-
201
+ // parameterized tests. When a parameterized test case is instantiated
202
+ // with a particular generator, Google Test creates and runs tests
203
+ // for each element in the sequence produced by the generator.
204
+ //
205
+ // In the following sample, tests from test case FooTest are instantiated
206
+ // each three times with parameter values 3, 5, and 8:
207
+ //
208
+ // class FooTest : public TestWithParam<int> { ... };
209
+ //
210
+ // TEST_P(FooTest, TestThis) {
211
+ // }
212
+ // TEST_P(FooTest, TestThat) {
213
+ // }
214
+ // INSTANTIATE_TEST_CASE_P(TestSequence, FooTest, Values(3, 5, 8));
215
+ //
216
+
217
+ // Range() returns generators providing sequences of values in a range.
218
+ //
219
+ // Synopsis:
220
+ // Range(start, end)
221
+ // - returns a generator producing a sequence of values {start, start+1,
222
+ // start+2, ..., }.
223
+ // Range(start, end, step)
224
+ // - returns a generator producing a sequence of values {start, start+step,
225
+ // start+step+step, ..., }.
226
+ // Notes:
227
+ // * The generated sequences never include end. For example, Range(1, 5)
228
+ // returns a generator producing a sequence {1, 2, 3, 4}. Range(1, 9, 2)
229
+ // returns a generator producing {1, 3, 5, 7}.
230
+ // * start and end must have the same type. That type may be any integral or
231
+ // floating-point type or a user defined type satisfying these conditions:
232
+ // * It must be assignable (have operator=() defined).
233
+ // * It must have operator+() (operator+(int-compatible type) for
234
+ // two-operand version).
235
+ // * It must have operator<() defined.
236
+ // Elements in the resulting sequences will also have that type.
237
+ // * Condition start < end must be satisfied in order for resulting sequences
238
+ // to contain any elements.
239
+ //
240
+ template <typename T, typename IncrementT>
241
+ internal::ParamGenerator<T> Range(T start, T end, IncrementT step) {
242
+ return internal::ParamGenerator<T>(
243
+ new internal::RangeGenerator<T, IncrementT>(start, end, step));
244
+ }
245
+
246
+ template <typename T>
247
+ internal::ParamGenerator<T> Range(T start, T end) {
248
+ return Range(start, end, 1);
249
+ }
250
+
251
+ // ValuesIn() function allows generation of tests with parameters coming from
252
+ // a container.
253
+ //
254
+ // Synopsis:
255
+ // ValuesIn(const T (&array)[N])
256
+ // - returns a generator producing sequences with elements from
257
+ // a C-style array.
258
+ // ValuesIn(const Container& container)
259
+ // - returns a generator producing sequences with elements from
260
+ // an STL-style container.
261
+ // ValuesIn(Iterator begin, Iterator end)
262
+ // - returns a generator producing sequences with elements from
263
+ // a range [begin, end) defined by a pair of STL-style iterators. These
264
+ // iterators can also be plain C pointers.
265
+ //
266
+ // Please note that ValuesIn copies the values from the containers
267
+ // passed in and keeps them to generate tests in RUN_ALL_TESTS().
268
+ //
269
+ // Examples:
270
+ //
271
+ // This instantiates tests from test case StringTest
272
+ // each with C-string values of "foo", "bar", and "baz":
273
+ //
274
+ // const char* strings[] = {"foo", "bar", "baz"};
275
+ // INSTANTIATE_TEST_CASE_P(StringSequence, SrtingTest, ValuesIn(strings));
276
+ //
277
+ // This instantiates tests from test case StlStringTest
278
+ // each with STL strings with values "a" and "b":
279
+ //
280
+ // ::std::vector< ::std::string> GetParameterStrings() {
281
+ // ::std::vector< ::std::string> v;
282
+ // v.push_back("a");
283
+ // v.push_back("b");
284
+ // return v;
285
+ // }
286
+ //
287
+ // INSTANTIATE_TEST_CASE_P(CharSequence,
288
+ // StlStringTest,
289
+ // ValuesIn(GetParameterStrings()));
290
+ //
291
+ //
292
+ // This will also instantiate tests from CharTest
293
+ // each with parameter values 'a' and 'b':
294
+ //
295
+ // ::std::list<char> GetParameterChars() {
296
+ // ::std::list<char> list;
297
+ // list.push_back('a');
298
+ // list.push_back('b');
299
+ // return list;
300
+ // }
301
+ // ::std::list<char> l = GetParameterChars();
302
+ // INSTANTIATE_TEST_CASE_P(CharSequence2,
303
+ // CharTest,
304
+ // ValuesIn(l.begin(), l.end()));
305
+ //
306
+ template <typename ForwardIterator>
307
+ internal::ParamGenerator<
308
+ typename ::testing::internal::IteratorTraits<ForwardIterator>::value_type>
309
+ ValuesIn(ForwardIterator begin, ForwardIterator end) {
310
+ typedef typename ::testing::internal::IteratorTraits<ForwardIterator>
311
+ ::value_type ParamType;
312
+ return internal::ParamGenerator<ParamType>(
313
+ new internal::ValuesInIteratorRangeGenerator<ParamType>(begin, end));
314
+ }
315
+
316
+ template <typename T, size_t N>
317
+ internal::ParamGenerator<T> ValuesIn(const T (&array)[N]) {
318
+ return ValuesIn(array, array + N);
319
+ }
320
+
321
+ template <class Container>
322
+ internal::ParamGenerator<typename Container::value_type> ValuesIn(
323
+ const Container& container) {
324
+ return ValuesIn(container.begin(), container.end());
325
+ }
326
+
327
+ // Values() allows generating tests from explicitly specified list of
328
+ // parameters.
329
+ //
330
+ // Synopsis:
331
+ // Values(T v1, T v2, ..., T vN)
332
+ // - returns a generator producing sequences with elements v1, v2, ..., vN.
333
+ //
334
+ // For example, this instantiates tests from test case BarTest each
335
+ // with values "one", "two", and "three":
336
+ //
337
+ // INSTANTIATE_TEST_CASE_P(NumSequence, BarTest, Values("one", "two", "three"));
338
+ //
339
+ // This instantiates tests from test case BazTest each with values 1, 2, 3.5.
340
+ // The exact type of values will depend on the type of parameter in BazTest.
341
+ //
342
+ // INSTANTIATE_TEST_CASE_P(FloatingNumbers, BazTest, Values(1, 2, 3.5));
343
+ //
344
+ // Currently, Values() supports from 1 to $n parameters.
345
+ //
346
+ $range i 1..n
347
+ $for i [[
348
+ $range j 1..i
349
+
350
+ template <$for j, [[typename T$j]]>
351
+ internal::ValueArray$i<$for j, [[T$j]]> Values($for j, [[T$j v$j]]) {
352
+ return internal::ValueArray$i<$for j, [[T$j]]>($for j, [[v$j]]);
353
+ }
354
+
355
+ ]]
356
+
357
+ // Bool() allows generating tests with parameters in a set of (false, true).
358
+ //
359
+ // Synopsis:
360
+ // Bool()
361
+ // - returns a generator producing sequences with elements {false, true}.
362
+ //
363
+ // It is useful when testing code that depends on Boolean flags. Combinations
364
+ // of multiple flags can be tested when several Bool()'s are combined using
365
+ // Combine() function.
366
+ //
367
+ // In the following example all tests in the test case FlagDependentTest
368
+ // will be instantiated twice with parameters false and true.
369
+ //
370
+ // class FlagDependentTest : public testing::TestWithParam<bool> {
371
+ // virtual void SetUp() {
372
+ // external_flag = GetParam();
373
+ // }
374
+ // }
375
+ // INSTANTIATE_TEST_CASE_P(BoolSequence, FlagDependentTest, Bool());
376
+ //
377
+ inline internal::ParamGenerator<bool> Bool() {
378
+ return Values(false, true);
379
+ }
380
+
381
+ # if GTEST_HAS_COMBINE
382
+ // Combine() allows the user to combine two or more sequences to produce
383
+ // values of a Cartesian product of those sequences' elements.
384
+ //
385
+ // Synopsis:
386
+ // Combine(gen1, gen2, ..., genN)
387
+ // - returns a generator producing sequences with elements coming from
388
+ // the Cartesian product of elements from the sequences generated by
389
+ // gen1, gen2, ..., genN. The sequence elements will have a type of
390
+ // tuple<T1, T2, ..., TN> where T1, T2, ..., TN are the types
391
+ // of elements from sequences produces by gen1, gen2, ..., genN.
392
+ //
393
+ // Combine can have up to $maxtuple arguments. This number is currently limited
394
+ // by the maximum number of elements in the tuple implementation used by Google
395
+ // Test.
396
+ //
397
+ // Example:
398
+ //
399
+ // This will instantiate tests in test case AnimalTest each one with
400
+ // the parameter values tuple("cat", BLACK), tuple("cat", WHITE),
401
+ // tuple("dog", BLACK), and tuple("dog", WHITE):
402
+ //
403
+ // enum Color { BLACK, GRAY, WHITE };
404
+ // class AnimalTest
405
+ // : public testing::TestWithParam<tuple<const char*, Color> > {...};
406
+ //
407
+ // TEST_P(AnimalTest, AnimalLooksNice) {...}
408
+ //
409
+ // INSTANTIATE_TEST_CASE_P(AnimalVariations, AnimalTest,
410
+ // Combine(Values("cat", "dog"),
411
+ // Values(BLACK, WHITE)));
412
+ //
413
+ // This will instantiate tests in FlagDependentTest with all variations of two
414
+ // Boolean flags:
415
+ //
416
+ // class FlagDependentTest
417
+ // : public testing::TestWithParam<tuple<bool, bool> > {
418
+ // virtual void SetUp() {
419
+ // // Assigns external_flag_1 and external_flag_2 values from the tuple.
420
+ // tie(external_flag_1, external_flag_2) = GetParam();
421
+ // }
422
+ // };
423
+ //
424
+ // TEST_P(FlagDependentTest, TestFeature1) {
425
+ // // Test your code using external_flag_1 and external_flag_2 here.
426
+ // }
427
+ // INSTANTIATE_TEST_CASE_P(TwoBoolSequence, FlagDependentTest,
428
+ // Combine(Bool(), Bool()));
429
+ //
430
+ $range i 2..maxtuple
431
+ $for i [[
432
+ $range j 1..i
433
+
434
+ template <$for j, [[typename Generator$j]]>
435
+ internal::CartesianProductHolder$i<$for j, [[Generator$j]]> Combine(
436
+ $for j, [[const Generator$j& g$j]]) {
437
+ return internal::CartesianProductHolder$i<$for j, [[Generator$j]]>(
438
+ $for j, [[g$j]]);
439
+ }
440
+
441
+ ]]
442
+ # endif // GTEST_HAS_COMBINE
443
+
444
+
445
+
446
+ # define TEST_P(test_case_name, test_name) \
447
+ class GTEST_TEST_CLASS_NAME_(test_case_name, test_name) \
448
+ : public test_case_name { \
449
+ public: \
450
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {} \
451
+ virtual void TestBody(); \
452
+ private: \
453
+ static int AddToRegistry() { \
454
+ ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \
455
+ GetTestCasePatternHolder<test_case_name>(\
456
+ #test_case_name, \
457
+ ::testing::internal::CodeLocation(\
458
+ __FILE__, __LINE__))->AddTestPattern(\
459
+ #test_case_name, \
460
+ #test_name, \
461
+ new ::testing::internal::TestMetaFactory< \
462
+ GTEST_TEST_CLASS_NAME_(\
463
+ test_case_name, test_name)>()); \
464
+ return 0; \
465
+ } \
466
+ static int gtest_registering_dummy_ GTEST_ATTRIBUTE_UNUSED_; \
467
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(\
468
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)); \
469
+ }; \
470
+ int GTEST_TEST_CLASS_NAME_(test_case_name, \
471
+ test_name)::gtest_registering_dummy_ = \
472
+ GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::AddToRegistry(); \
473
+ void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody()
474
+
475
+ // The optional last argument to INSTANTIATE_TEST_CASE_P allows the user
476
+ // to specify a function or functor that generates custom test name suffixes
477
+ // based on the test parameters. The function should accept one argument of
478
+ // type testing::TestParamInfo<class ParamType>, and return std::string.
479
+ //
480
+ // testing::PrintToStringParamName is a builtin test suffix generator that
481
+ // returns the value of testing::PrintToString(GetParam()).
482
+ //
483
+ // Note: test names must be non-empty, unique, and may only contain ASCII
484
+ // alphanumeric characters or underscore. Because PrintToString adds quotes
485
+ // to std::string and C strings, it won't work for these types.
486
+
487
+ # define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator, ...) \
488
+ ::testing::internal::ParamGenerator<test_case_name::ParamType> \
489
+ gtest_##prefix##test_case_name##_EvalGenerator_() { return generator; } \
490
+ ::std::string gtest_##prefix##test_case_name##_EvalGenerateName_( \
491
+ const ::testing::TestParamInfo<test_case_name::ParamType>& info) { \
492
+ return ::testing::internal::GetParamNameGen<test_case_name::ParamType> \
493
+ (__VA_ARGS__)(info); \
494
+ } \
495
+ int gtest_##prefix##test_case_name##_dummy_ GTEST_ATTRIBUTE_UNUSED_ = \
496
+ ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \
497
+ GetTestCasePatternHolder<test_case_name>(\
498
+ #test_case_name, \
499
+ ::testing::internal::CodeLocation(\
500
+ __FILE__, __LINE__))->AddTestCaseInstantiation(\
501
+ #prefix, \
502
+ &gtest_##prefix##test_case_name##_EvalGenerator_, \
503
+ &gtest_##prefix##test_case_name##_EvalGenerateName_, \
504
+ __FILE__, __LINE__)
505
+
506
+ } // namespace testing
507
+
508
+ #endif // GTEST_HAS_PARAM_TEST
509
+
510
+ #endif // GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_