@eosrio/node-abieos 2.1.0-beta.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. package/README.md +4 -1
  2. package/dist/abieos.node +0 -0
  3. package/lib/abieos.d.ts +19 -0
  4. package/lib/abieos.d.ts.map +1 -0
  5. package/lib/abieos.js +100 -0
  6. package/lib/abieos.ts +107 -0
  7. package/package.json +13 -8
  8. package/.gitmodules +0 -6
  9. package/.idea/misc.xml +0 -6
  10. package/.idea/modules.xml +0 -8
  11. package/.idea/node-abieos.iml +0 -12
  12. package/.idea/vcs.xml +0 -9
  13. package/.idea/workspace.xml +0 -266
  14. package/CMakeLists.txt +0 -35
  15. package/abieos.d.ts +0 -21
  16. package/abieos.js +0 -59
  17. package/eosio.json +0 -1596
  18. package/external/date/CMakeLists.txt +0 -175
  19. package/external/date/LICENSE.txt +0 -31
  20. package/external/date/README.md +0 -61
  21. package/external/date/compile_fail.sh +0 -16
  22. package/external/date/include/date/chrono_io.h +0 -34
  23. package/external/date/include/date/date.h +0 -8335
  24. package/external/date/include/date/ios.h +0 -50
  25. package/external/date/include/date/islamic.h +0 -3031
  26. package/external/date/include/date/iso_week.h +0 -1745
  27. package/external/date/include/date/julian.h +0 -3046
  28. package/external/date/include/date/ptz.h +0 -592
  29. package/external/date/include/date/tz.h +0 -2760
  30. package/external/date/include/date/tz_private.h +0 -318
  31. package/external/date/src/ios.mm +0 -337
  32. package/external/date/src/tz.cpp +0 -3801
  33. package/external/date/test/clock_cast_test/custom_clock.pass.cpp +0 -213
  34. package/external/date/test/clock_cast_test/deprecated.pass.cpp +0 -90
  35. package/external/date/test/clock_cast_test/local_t.pass.cpp +0 -132
  36. package/external/date/test/clock_cast_test/noncastable.pass.cpp +0 -251
  37. package/external/date/test/clock_cast_test/normal_clocks.pass.cpp +0 -102
  38. package/external/date/test/clock_cast_test/to_sys_return_int.fail.cpp +0 -49
  39. package/external/date/test/clock_cast_test/to_sys_return_reference.fail.cpp +0 -51
  40. package/external/date/test/clock_cast_test/to_sys_return_utc_time.fail.cpp +0 -49
  41. package/external/date/test/date_test/day.pass.cpp +0 -143
  42. package/external/date/test/date_test/daypday.fail.cpp +0 -32
  43. package/external/date/test/date_test/daysmday.fail.cpp +0 -32
  44. package/external/date/test/date_test/daysmweekday.fail.cpp +0 -32
  45. package/external/date/test/date_test/detail/decimal_format_seconds.pass.cpp +0 -145
  46. package/external/date/test/date_test/detail/make_precision.pass.cpp +0 -63
  47. package/external/date/test/date_test/detail/static_pow10.pass.cpp +0 -50
  48. package/external/date/test/date_test/detail/width.pass.cpp +0 -64
  49. package/external/date/test/date_test/durations.pass.cpp +0 -62
  50. package/external/date/test/date_test/durations_output.pass.cpp +0 -328
  51. package/external/date/test/date_test/format/century.pass.cpp +0 -117
  52. package/external/date/test/date_test/format/misc.pass.cpp +0 -52
  53. package/external/date/test/date_test/format/range.pass.cpp +0 -78
  54. package/external/date/test/date_test/format/two_dight_year.pass.cpp +0 -121
  55. package/external/date/test/date_test/last.pass.cpp +0 -34
  56. package/external/date/test/date_test/make_time.pass.cpp +0 -164
  57. package/external/date/test/date_test/month.pass.cpp +0 -181
  58. package/external/date/test/date_test/month_day.pass.cpp +0 -82
  59. package/external/date/test/date_test/month_day_last.pass.cpp +0 -75
  60. package/external/date/test/date_test/month_weekday.pass.cpp +0 -77
  61. package/external/date/test/date_test/month_weekday_last.pass.cpp +0 -77
  62. package/external/date/test/date_test/month_weekday_last_less.fail.cpp +0 -34
  63. package/external/date/test/date_test/month_weekday_less.fail.cpp +0 -34
  64. package/external/date/test/date_test/monthpmonth.fail.cpp +0 -32
  65. package/external/date/test/date_test/months_m_year_month.fail.cpp +0 -33
  66. package/external/date/test/date_test/months_m_year_month_day.fail.cpp +0 -33
  67. package/external/date/test/date_test/monthsmmonth.fail.cpp +0 -32
  68. package/external/date/test/date_test/multi_year_duration_addition.pass.cpp +0 -297
  69. package/external/date/test/date_test/op_div_day_day.fail.cpp +0 -33
  70. package/external/date/test/date_test/op_div_int_month.fail.cpp +0 -33
  71. package/external/date/test/date_test/op_div_int_year.fail.cpp +0 -33
  72. package/external/date/test/date_test/op_div_last_last.fail.cpp +0 -33
  73. package/external/date/test/date_test/op_div_month_day.pass.cpp +0 -41
  74. package/external/date/test/date_test/op_div_month_day_last.pass.cpp +0 -39
  75. package/external/date/test/date_test/op_div_month_day_month_day.fail.cpp +0 -33
  76. package/external/date/test/date_test/op_div_month_month.fail.cpp +0 -33
  77. package/external/date/test/date_test/op_div_month_weekday.pass.cpp +0 -39
  78. package/external/date/test/date_test/op_div_month_weekday_last.pass.cpp +0 -39
  79. package/external/date/test/date_test/op_div_month_year.fail.cpp +0 -33
  80. package/external/date/test/date_test/op_div_survey.pass.cpp +0 -437
  81. package/external/date/test/date_test/op_div_weekday_indexed_weekday_indexed.fail.cpp +0 -33
  82. package/external/date/test/date_test/op_div_weekday_last_weekday_last.fail.cpp +0 -33
  83. package/external/date/test/date_test/op_div_year_month.pass.cpp +0 -35
  84. package/external/date/test/date_test/op_div_year_month_day.pass.cpp +0 -43
  85. package/external/date/test/date_test/op_div_year_month_day_last.pass.cpp +0 -41
  86. package/external/date/test/date_test/op_div_year_month_weekday.pass.cpp +0 -41
  87. package/external/date/test/date_test/op_div_year_month_weekday_last.pass.cpp +0 -41
  88. package/external/date/test/date_test/op_div_year_month_year_month.fail.cpp +0 -33
  89. package/external/date/test/date_test/op_div_year_year.fail.cpp +0 -33
  90. package/external/date/test/date_test/parse.pass.cpp +0 -904
  91. package/external/date/test/date_test/sizeof.pass.cpp +0 -62
  92. package/external/date/test/date_test/time_of_day_hours.pass.cpp +0 -104
  93. package/external/date/test/date_test/time_of_day_microfortnights.pass.cpp +0 -119
  94. package/external/date/test/date_test/time_of_day_milliseconds.pass.cpp +0 -126
  95. package/external/date/test/date_test/time_of_day_minutes.pass.cpp +0 -110
  96. package/external/date/test/date_test/time_of_day_nanoseconds.pass.cpp +0 -126
  97. package/external/date/test/date_test/time_of_day_seconds.pass.cpp +0 -116
  98. package/external/date/test/date_test/weekday.pass.cpp +0 -201
  99. package/external/date/test/date_test/weekday_indexed.pass.cpp +0 -70
  100. package/external/date/test/date_test/weekday_last.pass.cpp +0 -66
  101. package/external/date/test/date_test/weekday_lessthan.fail.cpp +0 -32
  102. package/external/date/test/date_test/weekday_sum.fail.cpp +0 -32
  103. package/external/date/test/date_test/year.pass.cpp +0 -146
  104. package/external/date/test/date_test/year_month.pass.cpp +0 -142
  105. package/external/date/test/date_test/year_month_day.pass.cpp +0 -244
  106. package/external/date/test/date_test/year_month_day_last.pass.cpp +0 -177
  107. package/external/date/test/date_test/year_month_day_m_year_month_day.fail.cpp +0 -33
  108. package/external/date/test/date_test/year_month_day_p_year_month_day.fail.cpp +0 -33
  109. package/external/date/test/date_test/year_month_p_year_month.fail.cpp +0 -33
  110. package/external/date/test/date_test/year_month_weekday.pass.cpp +0 -178
  111. package/external/date/test/date_test/year_month_weekday_last.pass.cpp +0 -169
  112. package/external/date/test/date_test/year_p_year.fail.cpp +0 -32
  113. package/external/date/test/date_test/years_m_year.fail.cpp +0 -32
  114. package/external/date/test/date_test/years_m_year_month.fail.cpp +0 -33
  115. package/external/date/test/date_test/years_m_year_month_day.fail.cpp +0 -33
  116. package/external/date/test/iso_week/last.pass.cpp +0 -34
  117. package/external/date/test/iso_week/lastweek_weekday.pass.cpp +0 -82
  118. package/external/date/test/iso_week/op_div_survey.pass.cpp +0 -196
  119. package/external/date/test/iso_week/weekday.pass.cpp +0 -227
  120. package/external/date/test/iso_week/weekday_lessthan.fail.cpp +0 -32
  121. package/external/date/test/iso_week/weekday_sum.fail.cpp +0 -32
  122. package/external/date/test/iso_week/weeknum.pass.cpp +0 -121
  123. package/external/date/test/iso_week/weeknum_p_weeknum.fail.cpp +0 -32
  124. package/external/date/test/iso_week/weeknum_weekday.pass.cpp +0 -86
  125. package/external/date/test/iso_week/year.pass.cpp +0 -120
  126. package/external/date/test/iso_week/year_lastweek.pass.cpp +0 -97
  127. package/external/date/test/iso_week/year_lastweek_weekday.pass.cpp +0 -129
  128. package/external/date/test/iso_week/year_p_year.fail.cpp +0 -32
  129. package/external/date/test/iso_week/year_weeknum.pass.cpp +0 -97
  130. package/external/date/test/iso_week/year_weeknum_weekday.pass.cpp +0 -139
  131. package/external/date/test/iso_week/years_m_year.fail.cpp +0 -32
  132. package/external/date/test/just.pass.cpp +0 -26
  133. package/external/date/test/testit +0 -177
  134. package/external/date/test/tz_test/OffsetZone.pass.cpp +0 -81
  135. package/external/date/test/tz_test/README.md +0 -22
  136. package/external/date/test/tz_test/tzdata2015e.txt.zip +0 -0
  137. package/external/date/test/tz_test/tzdata2015f.txt.zip +0 -0
  138. package/external/date/test/tz_test/tzdata2016c.txt.zip +0 -0
  139. package/external/date/test/tz_test/tzdata2016d.txt.zip +0 -0
  140. package/external/date/test/tz_test/tzdata2016e.txt.zip +0 -0
  141. package/external/date/test/tz_test/tzdata2016f.txt.zip +0 -0
  142. package/external/date/test/tz_test/validate.cpp +0 -165
  143. package/external/date/test/tz_test/zone.pass.cpp +0 -37
  144. package/external/date/test/tz_test/zoned_time.pass.cpp +0 -464
  145. package/external/date/test_fail.sh +0 -10
  146. package/external/rapidjson/.gitattributes +0 -22
  147. package/external/rapidjson/.gitmodules +0 -3
  148. package/external/rapidjson/.travis.yml +0 -99
  149. package/external/rapidjson/CHANGELOG.md +0 -158
  150. package/external/rapidjson/CMakeLists.txt +0 -221
  151. package/external/rapidjson/CMakeModules/FindGTestSrc.cmake +0 -30
  152. package/external/rapidjson/RapidJSON.pc.in +0 -7
  153. package/external/rapidjson/RapidJSONConfig.cmake.in +0 -15
  154. package/external/rapidjson/RapidJSONConfigVersion.cmake.in +0 -10
  155. package/external/rapidjson/appveyor.yml +0 -54
  156. package/external/rapidjson/bin/data/glossary.json +0 -22
  157. package/external/rapidjson/bin/data/menu.json +0 -27
  158. package/external/rapidjson/bin/data/readme.txt +0 -1
  159. package/external/rapidjson/bin/data/sample.json +0 -3315
  160. package/external/rapidjson/bin/data/webapp.json +0 -88
  161. package/external/rapidjson/bin/data/widget.json +0 -26
  162. package/external/rapidjson/bin/encodings/utf16be.json +0 -0
  163. package/external/rapidjson/bin/encodings/utf16bebom.json +0 -0
  164. package/external/rapidjson/bin/encodings/utf16le.json +0 -0
  165. package/external/rapidjson/bin/encodings/utf16lebom.json +0 -0
  166. package/external/rapidjson/bin/encodings/utf32be.json +0 -0
  167. package/external/rapidjson/bin/encodings/utf32bebom.json +0 -0
  168. package/external/rapidjson/bin/encodings/utf32le.json +0 -0
  169. package/external/rapidjson/bin/encodings/utf32lebom.json +0 -0
  170. package/external/rapidjson/bin/encodings/utf8.json +0 -7
  171. package/external/rapidjson/bin/encodings/utf8bom.json +0 -7
  172. package/external/rapidjson/bin/jsonchecker/fail1.json +0 -1
  173. package/external/rapidjson/bin/jsonchecker/fail10.json +0 -1
  174. package/external/rapidjson/bin/jsonchecker/fail11.json +0 -1
  175. package/external/rapidjson/bin/jsonchecker/fail12.json +0 -1
  176. package/external/rapidjson/bin/jsonchecker/fail13.json +0 -1
  177. package/external/rapidjson/bin/jsonchecker/fail14.json +0 -1
  178. package/external/rapidjson/bin/jsonchecker/fail15.json +0 -1
  179. package/external/rapidjson/bin/jsonchecker/fail16.json +0 -1
  180. package/external/rapidjson/bin/jsonchecker/fail17.json +0 -1
  181. package/external/rapidjson/bin/jsonchecker/fail18.json +0 -1
  182. package/external/rapidjson/bin/jsonchecker/fail19.json +0 -1
  183. package/external/rapidjson/bin/jsonchecker/fail2.json +0 -1
  184. package/external/rapidjson/bin/jsonchecker/fail20.json +0 -1
  185. package/external/rapidjson/bin/jsonchecker/fail21.json +0 -1
  186. package/external/rapidjson/bin/jsonchecker/fail22.json +0 -1
  187. package/external/rapidjson/bin/jsonchecker/fail23.json +0 -1
  188. package/external/rapidjson/bin/jsonchecker/fail24.json +0 -1
  189. package/external/rapidjson/bin/jsonchecker/fail25.json +0 -1
  190. package/external/rapidjson/bin/jsonchecker/fail26.json +0 -1
  191. package/external/rapidjson/bin/jsonchecker/fail27.json +0 -2
  192. package/external/rapidjson/bin/jsonchecker/fail28.json +0 -2
  193. package/external/rapidjson/bin/jsonchecker/fail29.json +0 -1
  194. package/external/rapidjson/bin/jsonchecker/fail3.json +0 -1
  195. package/external/rapidjson/bin/jsonchecker/fail30.json +0 -1
  196. package/external/rapidjson/bin/jsonchecker/fail31.json +0 -1
  197. package/external/rapidjson/bin/jsonchecker/fail32.json +0 -1
  198. package/external/rapidjson/bin/jsonchecker/fail33.json +0 -1
  199. package/external/rapidjson/bin/jsonchecker/fail4.json +0 -1
  200. package/external/rapidjson/bin/jsonchecker/fail5.json +0 -1
  201. package/external/rapidjson/bin/jsonchecker/fail6.json +0 -1
  202. package/external/rapidjson/bin/jsonchecker/fail7.json +0 -1
  203. package/external/rapidjson/bin/jsonchecker/fail8.json +0 -1
  204. package/external/rapidjson/bin/jsonchecker/fail9.json +0 -1
  205. package/external/rapidjson/bin/jsonchecker/pass1.json +0 -58
  206. package/external/rapidjson/bin/jsonchecker/pass2.json +0 -1
  207. package/external/rapidjson/bin/jsonchecker/pass3.json +0 -6
  208. package/external/rapidjson/bin/jsonchecker/readme.txt +0 -3
  209. package/external/rapidjson/bin/types/booleans.json +0 -102
  210. package/external/rapidjson/bin/types/floats.json +0 -102
  211. package/external/rapidjson/bin/types/guids.json +0 -102
  212. package/external/rapidjson/bin/types/integers.json +0 -102
  213. package/external/rapidjson/bin/types/mixed.json +0 -592
  214. package/external/rapidjson/bin/types/nulls.json +0 -102
  215. package/external/rapidjson/bin/types/paragraphs.json +0 -102
  216. package/external/rapidjson/bin/types/readme.txt +0 -1
  217. package/external/rapidjson/contrib/natvis/LICENSE +0 -45
  218. package/external/rapidjson/contrib/natvis/README.md +0 -7
  219. package/external/rapidjson/contrib/natvis/rapidjson.natvis +0 -38
  220. package/external/rapidjson/doc/CMakeLists.txt +0 -27
  221. package/external/rapidjson/doc/Doxyfile.in +0 -2369
  222. package/external/rapidjson/doc/Doxyfile.zh-cn.in +0 -2369
  223. package/external/rapidjson/doc/diagram/architecture.dot +0 -50
  224. package/external/rapidjson/doc/diagram/architecture.png +0 -0
  225. package/external/rapidjson/doc/diagram/insituparsing.dot +0 -65
  226. package/external/rapidjson/doc/diagram/insituparsing.png +0 -0
  227. package/external/rapidjson/doc/diagram/iterative-parser-states-diagram.dot +0 -62
  228. package/external/rapidjson/doc/diagram/iterative-parser-states-diagram.png +0 -0
  229. package/external/rapidjson/doc/diagram/move1.dot +0 -47
  230. package/external/rapidjson/doc/diagram/move1.png +0 -0
  231. package/external/rapidjson/doc/diagram/move2.dot +0 -62
  232. package/external/rapidjson/doc/diagram/move2.png +0 -0
  233. package/external/rapidjson/doc/diagram/move3.dot +0 -60
  234. package/external/rapidjson/doc/diagram/move3.png +0 -0
  235. package/external/rapidjson/doc/diagram/normalparsing.dot +0 -56
  236. package/external/rapidjson/doc/diagram/normalparsing.png +0 -0
  237. package/external/rapidjson/doc/diagram/simpledom.dot +0 -54
  238. package/external/rapidjson/doc/diagram/simpledom.png +0 -0
  239. package/external/rapidjson/doc/diagram/tutorial.dot +0 -58
  240. package/external/rapidjson/doc/diagram/tutorial.png +0 -0
  241. package/external/rapidjson/doc/diagram/utilityclass.dot +0 -73
  242. package/external/rapidjson/doc/diagram/utilityclass.png +0 -0
  243. package/external/rapidjson/doc/dom.md +0 -280
  244. package/external/rapidjson/doc/dom.zh-cn.md +0 -284
  245. package/external/rapidjson/doc/encoding.md +0 -146
  246. package/external/rapidjson/doc/encoding.zh-cn.md +0 -152
  247. package/external/rapidjson/doc/faq.md +0 -289
  248. package/external/rapidjson/doc/faq.zh-cn.md +0 -290
  249. package/external/rapidjson/doc/features.md +0 -104
  250. package/external/rapidjson/doc/features.zh-cn.md +0 -103
  251. package/external/rapidjson/doc/internals.md +0 -368
  252. package/external/rapidjson/doc/internals.zh-cn.md +0 -363
  253. package/external/rapidjson/doc/logo/rapidjson.png +0 -0
  254. package/external/rapidjson/doc/logo/rapidjson.svg +0 -119
  255. package/external/rapidjson/doc/misc/DoxygenLayout.xml +0 -194
  256. package/external/rapidjson/doc/misc/doxygenextra.css +0 -274
  257. package/external/rapidjson/doc/misc/footer.html +0 -11
  258. package/external/rapidjson/doc/misc/header.html +0 -24
  259. package/external/rapidjson/doc/npm.md +0 -31
  260. package/external/rapidjson/doc/performance.md +0 -26
  261. package/external/rapidjson/doc/performance.zh-cn.md +0 -26
  262. package/external/rapidjson/doc/pointer.md +0 -234
  263. package/external/rapidjson/doc/pointer.zh-cn.md +0 -234
  264. package/external/rapidjson/doc/sax.md +0 -509
  265. package/external/rapidjson/doc/sax.zh-cn.md +0 -487
  266. package/external/rapidjson/doc/schema.md +0 -505
  267. package/external/rapidjson/doc/schema.zh-cn.md +0 -237
  268. package/external/rapidjson/doc/stream.md +0 -429
  269. package/external/rapidjson/doc/stream.zh-cn.md +0 -429
  270. package/external/rapidjson/doc/tutorial.md +0 -536
  271. package/external/rapidjson/doc/tutorial.zh-cn.md +0 -535
  272. package/external/rapidjson/docker/debian/Dockerfile +0 -8
  273. package/external/rapidjson/example/CMakeLists.txt +0 -45
  274. package/external/rapidjson/example/archiver/archiver.cpp +0 -292
  275. package/external/rapidjson/example/archiver/archiver.h +0 -145
  276. package/external/rapidjson/example/archiver/archivertest.cpp +0 -287
  277. package/external/rapidjson/example/capitalize/capitalize.cpp +0 -67
  278. package/external/rapidjson/example/condense/condense.cpp +0 -32
  279. package/external/rapidjson/example/filterkey/filterkey.cpp +0 -135
  280. package/external/rapidjson/example/filterkeydom/filterkeydom.cpp +0 -170
  281. package/external/rapidjson/example/jsonx/jsonx.cpp +0 -207
  282. package/external/rapidjson/example/lookaheadparser/lookaheadparser.cpp +0 -350
  283. package/external/rapidjson/example/messagereader/messagereader.cpp +0 -105
  284. package/external/rapidjson/example/parsebyparts/parsebyparts.cpp +0 -176
  285. package/external/rapidjson/example/pretty/pretty.cpp +0 -30
  286. package/external/rapidjson/example/prettyauto/prettyauto.cpp +0 -56
  287. package/external/rapidjson/example/schemavalidator/schemavalidator.cpp +0 -78
  288. package/external/rapidjson/example/serialize/serialize.cpp +0 -173
  289. package/external/rapidjson/example/simpledom/simpledom.cpp +0 -29
  290. package/external/rapidjson/example/simplepullreader/simplepullreader.cpp +0 -53
  291. package/external/rapidjson/example/simplereader/simplereader.cpp +0 -42
  292. package/external/rapidjson/example/simplewriter/simplewriter.cpp +0 -36
  293. package/external/rapidjson/example/tutorial/tutorial.cpp +0 -151
  294. package/external/rapidjson/include/rapidjson/allocators.h +0 -284
  295. package/external/rapidjson/include/rapidjson/cursorstreamwrapper.h +0 -78
  296. package/external/rapidjson/include/rapidjson/document.h +0 -2646
  297. package/external/rapidjson/include/rapidjson/encodedstream.h +0 -299
  298. package/external/rapidjson/include/rapidjson/encodings.h +0 -716
  299. package/external/rapidjson/include/rapidjson/error/en.h +0 -74
  300. package/external/rapidjson/include/rapidjson/error/error.h +0 -161
  301. package/external/rapidjson/include/rapidjson/filereadstream.h +0 -99
  302. package/external/rapidjson/include/rapidjson/filewritestream.h +0 -104
  303. package/external/rapidjson/include/rapidjson/fwd.h +0 -151
  304. package/external/rapidjson/include/rapidjson/internal/biginteger.h +0 -290
  305. package/external/rapidjson/include/rapidjson/internal/diyfp.h +0 -271
  306. package/external/rapidjson/include/rapidjson/internal/dtoa.h +0 -245
  307. package/external/rapidjson/include/rapidjson/internal/ieee754.h +0 -78
  308. package/external/rapidjson/include/rapidjson/internal/itoa.h +0 -308
  309. package/external/rapidjson/include/rapidjson/internal/meta.h +0 -186
  310. package/external/rapidjson/include/rapidjson/internal/pow10.h +0 -55
  311. package/external/rapidjson/include/rapidjson/internal/regex.h +0 -732
  312. package/external/rapidjson/include/rapidjson/internal/stack.h +0 -231
  313. package/external/rapidjson/include/rapidjson/internal/strfunc.h +0 -69
  314. package/external/rapidjson/include/rapidjson/internal/strtod.h +0 -290
  315. package/external/rapidjson/include/rapidjson/internal/swap.h +0 -46
  316. package/external/rapidjson/include/rapidjson/istreamwrapper.h +0 -113
  317. package/external/rapidjson/include/rapidjson/memorybuffer.h +0 -70
  318. package/external/rapidjson/include/rapidjson/memorystream.h +0 -71
  319. package/external/rapidjson/include/rapidjson/msinttypes/inttypes.h +0 -316
  320. package/external/rapidjson/include/rapidjson/msinttypes/stdint.h +0 -300
  321. package/external/rapidjson/include/rapidjson/ostreamwrapper.h +0 -81
  322. package/external/rapidjson/include/rapidjson/pointer.h +0 -1357
  323. package/external/rapidjson/include/rapidjson/prettywriter.h +0 -277
  324. package/external/rapidjson/include/rapidjson/rapidjson.h +0 -654
  325. package/external/rapidjson/include/rapidjson/reader.h +0 -2230
  326. package/external/rapidjson/include/rapidjson/schema.h +0 -2494
  327. package/external/rapidjson/include/rapidjson/stream.h +0 -223
  328. package/external/rapidjson/include/rapidjson/stringbuffer.h +0 -121
  329. package/external/rapidjson/include/rapidjson/writer.h +0 -710
  330. package/external/rapidjson/include_dirs.js +0 -2
  331. package/external/rapidjson/library.json +0 -15
  332. package/external/rapidjson/license.txt +0 -57
  333. package/external/rapidjson/package.json +0 -24
  334. package/external/rapidjson/rapidjson.autopkg +0 -77
  335. package/external/rapidjson/readme.md +0 -160
  336. package/external/rapidjson/readme.zh-cn.md +0 -152
  337. package/external/rapidjson/test/CMakeLists.txt +0 -20
  338. package/external/rapidjson/test/perftest/CMakeLists.txt +0 -28
  339. package/external/rapidjson/test/perftest/misctest.cpp +0 -974
  340. package/external/rapidjson/test/perftest/perftest.cpp +0 -24
  341. package/external/rapidjson/test/perftest/perftest.h +0 -185
  342. package/external/rapidjson/test/perftest/platformtest.cpp +0 -166
  343. package/external/rapidjson/test/perftest/rapidjsontest.cpp +0 -472
  344. package/external/rapidjson/test/perftest/schematest.cpp +0 -223
  345. package/external/rapidjson/test/unittest/CMakeLists.txt +0 -92
  346. package/external/rapidjson/test/unittest/allocatorstest.cpp +0 -100
  347. package/external/rapidjson/test/unittest/bigintegertest.cpp +0 -138
  348. package/external/rapidjson/test/unittest/cursorstreamwrappertest.cpp +0 -115
  349. package/external/rapidjson/test/unittest/documenttest.cpp +0 -672
  350. package/external/rapidjson/test/unittest/dtoatest.cpp +0 -98
  351. package/external/rapidjson/test/unittest/encodedstreamtest.cpp +0 -313
  352. package/external/rapidjson/test/unittest/encodingstest.cpp +0 -451
  353. package/external/rapidjson/test/unittest/filestreamtest.cpp +0 -112
  354. package/external/rapidjson/test/unittest/fwdtest.cpp +0 -230
  355. package/external/rapidjson/test/unittest/istreamwrappertest.cpp +0 -181
  356. package/external/rapidjson/test/unittest/itoatest.cpp +0 -160
  357. package/external/rapidjson/test/unittest/jsoncheckertest.cpp +0 -143
  358. package/external/rapidjson/test/unittest/namespacetest.cpp +0 -70
  359. package/external/rapidjson/test/unittest/ostreamwrappertest.cpp +0 -92
  360. package/external/rapidjson/test/unittest/pointertest.cpp +0 -1529
  361. package/external/rapidjson/test/unittest/prettywritertest.cpp +0 -373
  362. package/external/rapidjson/test/unittest/readertest.cpp +0 -2190
  363. package/external/rapidjson/test/unittest/regextest.cpp +0 -638
  364. package/external/rapidjson/test/unittest/schematest.cpp +0 -2072
  365. package/external/rapidjson/test/unittest/simdtest.cpp +0 -219
  366. package/external/rapidjson/test/unittest/strfunctest.cpp +0 -30
  367. package/external/rapidjson/test/unittest/stringbuffertest.cpp +0 -192
  368. package/external/rapidjson/test/unittest/strtodtest.cpp +0 -132
  369. package/external/rapidjson/test/unittest/unittest.cpp +0 -51
  370. package/external/rapidjson/test/unittest/unittest.h +0 -140
  371. package/external/rapidjson/test/unittest/valuetest.cpp +0 -1851
  372. package/external/rapidjson/test/unittest/writertest.cpp +0 -598
  373. package/external/rapidjson/test/valgrind.supp +0 -17
  374. package/external/rapidjson/thirdparty/gtest/.travis.yml +0 -81
  375. package/external/rapidjson/thirdparty/gtest/BUILD.bazel +0 -175
  376. package/external/rapidjson/thirdparty/gtest/CMakeLists.txt +0 -33
  377. package/external/rapidjson/thirdparty/gtest/CONTRIBUTING.md +0 -160
  378. package/external/rapidjson/thirdparty/gtest/LICENSE +0 -28
  379. package/external/rapidjson/thirdparty/gtest/Makefile.am +0 -14
  380. package/external/rapidjson/thirdparty/gtest/README.md +0 -122
  381. package/external/rapidjson/thirdparty/gtest/WORKSPACE +0 -8
  382. package/external/rapidjson/thirdparty/gtest/appveyor.yml +0 -104
  383. package/external/rapidjson/thirdparty/gtest/ci/build-linux-autotools.sh +0 -44
  384. package/external/rapidjson/thirdparty/gtest/ci/build-linux-bazel.sh +0 -36
  385. package/external/rapidjson/thirdparty/gtest/ci/env-linux.sh +0 -41
  386. package/external/rapidjson/thirdparty/gtest/ci/env-osx.sh +0 -40
  387. package/external/rapidjson/thirdparty/gtest/ci/get-nprocessors.sh +0 -48
  388. package/external/rapidjson/thirdparty/gtest/ci/install-linux.sh +0 -49
  389. package/external/rapidjson/thirdparty/gtest/ci/install-osx.sh +0 -39
  390. package/external/rapidjson/thirdparty/gtest/ci/log-config.sh +0 -51
  391. package/external/rapidjson/thirdparty/gtest/ci/travis.sh +0 -44
  392. package/external/rapidjson/thirdparty/gtest/configure.ac +0 -16
  393. package/external/rapidjson/thirdparty/gtest/googlemock/CHANGES +0 -126
  394. package/external/rapidjson/thirdparty/gtest/googlemock/CMakeLists.txt +0 -242
  395. package/external/rapidjson/thirdparty/gtest/googlemock/CONTRIBUTORS +0 -40
  396. package/external/rapidjson/thirdparty/gtest/googlemock/LICENSE +0 -28
  397. package/external/rapidjson/thirdparty/gtest/googlemock/Makefile.am +0 -224
  398. package/external/rapidjson/thirdparty/gtest/googlemock/README.md +0 -344
  399. package/external/rapidjson/thirdparty/gtest/googlemock/build-aux/.keep +0 -0
  400. package/external/rapidjson/thirdparty/gtest/googlemock/cmake/gmock.pc.in +0 -9
  401. package/external/rapidjson/thirdparty/gtest/googlemock/cmake/gmock_main.pc.in +0 -9
  402. package/external/rapidjson/thirdparty/gtest/googlemock/configure.ac +0 -146
  403. package/external/rapidjson/thirdparty/gtest/googlemock/docs/CheatSheet.md +0 -564
  404. package/external/rapidjson/thirdparty/gtest/googlemock/docs/CookBook.md +0 -3660
  405. package/external/rapidjson/thirdparty/gtest/googlemock/docs/DesignDoc.md +0 -280
  406. package/external/rapidjson/thirdparty/gtest/googlemock/docs/Documentation.md +0 -15
  407. package/external/rapidjson/thirdparty/gtest/googlemock/docs/ForDummies.md +0 -447
  408. package/external/rapidjson/thirdparty/gtest/googlemock/docs/FrequentlyAskedQuestions.md +0 -627
  409. package/external/rapidjson/thirdparty/gtest/googlemock/docs/KnownIssues.md +0 -19
  410. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-actions.h +0 -1262
  411. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-cardinalities.h +0 -147
  412. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h +0 -2571
  413. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump +0 -833
  414. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h +0 -1379
  415. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +0 -347
  416. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h +0 -2258
  417. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump +0 -675
  418. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h +0 -458
  419. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +0 -178
  420. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-matchers.h +0 -5255
  421. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-actions.h +0 -246
  422. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h +0 -91
  423. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h +0 -1918
  424. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock.h +0 -95
  425. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +0 -8
  426. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +0 -10
  427. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h +0 -38
  428. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-port.h +0 -46
  429. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +0 -286
  430. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h.pump +0 -136
  431. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h +0 -574
  432. package/external/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h +0 -87
  433. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.sln +0 -32
  434. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock.vcproj +0 -191
  435. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_config.vsprops +0 -15
  436. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_main.vcproj +0 -187
  437. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2005/gmock_test.vcproj +0 -201
  438. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln +0 -46
  439. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj +0 -145
  440. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props +0 -19
  441. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj +0 -151
  442. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj +0 -176
  443. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.sln +0 -46
  444. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.vcxproj +0 -145
  445. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_config.props +0 -19
  446. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_main.vcxproj +0 -151
  447. package/external/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_test.vcxproj +0 -176
  448. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/fuse_gmock_files.py +0 -240
  449. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/LICENSE +0 -203
  450. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README +0 -34
  451. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README.cppclean +0 -115
  452. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/__init__.py +0 -0
  453. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/ast.py +0 -1733
  454. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class.py +0 -227
  455. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/gmock_class_test.py +0 -448
  456. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/keywords.py +0 -59
  457. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/tokenize.py +0 -287
  458. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/utils.py +0 -41
  459. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/generator/gmock_gen.py +0 -31
  460. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/gmock-config.in +0 -303
  461. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/gmock_doctor.py +0 -640
  462. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/upload.py +0 -1387
  463. package/external/rapidjson/thirdparty/gtest/googlemock/scripts/upload_gmock.py +0 -78
  464. package/external/rapidjson/thirdparty/gtest/googlemock/src/gmock-all.cc +0 -47
  465. package/external/rapidjson/thirdparty/gtest/googlemock/src/gmock-cardinalities.cc +0 -156
  466. package/external/rapidjson/thirdparty/gtest/googlemock/src/gmock-internal-utils.cc +0 -204
  467. package/external/rapidjson/thirdparty/gtest/googlemock/src/gmock-matchers.cc +0 -573
  468. package/external/rapidjson/thirdparty/gtest/googlemock/src/gmock-spec-builders.cc +0 -883
  469. package/external/rapidjson/thirdparty/gtest/googlemock/src/gmock.cc +0 -205
  470. package/external/rapidjson/thirdparty/gtest/googlemock/src/gmock_main.cc +0 -54
  471. package/external/rapidjson/thirdparty/gtest/googlemock/test/BUILD.bazel +0 -123
  472. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-actions_test.cc +0 -1575
  473. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-cardinalities_test.cc +0 -428
  474. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-actions_test.cc +0 -1230
  475. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-function-mockers_test.cc +0 -647
  476. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-internal-utils_test.cc +0 -129
  477. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-matchers_test.cc +0 -1341
  478. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-internal-utils_test.cc +0 -718
  479. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-matchers_test.cc +0 -6767
  480. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-more-actions_test.cc +0 -710
  481. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-nice-strict_test.cc +0 -511
  482. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-port_test.cc +0 -43
  483. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock-spec-builders_test.cc +0 -2771
  484. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_all_test.cc +0 -51
  485. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_ex_test.cc +0 -81
  486. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test.py +0 -108
  487. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_leak_test_.cc +0 -100
  488. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_link2_test.cc +0 -40
  489. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.cc +0 -40
  490. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.h +0 -691
  491. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test.py +0 -183
  492. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_.cc +0 -310
  493. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_golden.txt +0 -317
  494. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_stress_test.cc +0 -323
  495. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_test.cc +0 -262
  496. package/external/rapidjson/thirdparty/gtest/googlemock/test/gmock_test_utils.py +0 -110
  497. package/external/rapidjson/thirdparty/gtest/googletest/CHANGES +0 -157
  498. package/external/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt +0 -312
  499. package/external/rapidjson/thirdparty/gtest/googletest/CONTRIBUTORS +0 -37
  500. package/external/rapidjson/thirdparty/gtest/googletest/LICENSE +0 -28
  501. package/external/rapidjson/thirdparty/gtest/googletest/Makefile.am +0 -339
  502. package/external/rapidjson/thirdparty/gtest/googletest/README.md +0 -341
  503. package/external/rapidjson/thirdparty/gtest/googletest/cmake/gtest.pc.in +0 -9
  504. package/external/rapidjson/thirdparty/gtest/googletest/cmake/gtest_main.pc.in +0 -10
  505. package/external/rapidjson/thirdparty/gtest/googletest/cmake/internal_utils.cmake +0 -280
  506. package/external/rapidjson/thirdparty/gtest/googletest/codegear/gtest.cbproj +0 -138
  507. package/external/rapidjson/thirdparty/gtest/googletest/codegear/gtest.groupproj +0 -54
  508. package/external/rapidjson/thirdparty/gtest/googletest/codegear/gtest_all.cc +0 -38
  509. package/external/rapidjson/thirdparty/gtest/googletest/codegear/gtest_link.cc +0 -40
  510. package/external/rapidjson/thirdparty/gtest/googletest/codegear/gtest_main.cbproj +0 -82
  511. package/external/rapidjson/thirdparty/gtest/googletest/codegear/gtest_unittest.cbproj +0 -88
  512. package/external/rapidjson/thirdparty/gtest/googletest/configure.ac +0 -68
  513. package/external/rapidjson/thirdparty/gtest/googletest/docs/Pkgconfig.md +0 -146
  514. package/external/rapidjson/thirdparty/gtest/googletest/docs/PumpManual.md +0 -177
  515. package/external/rapidjson/thirdparty/gtest/googletest/docs/XcodeGuide.md +0 -93
  516. package/external/rapidjson/thirdparty/gtest/googletest/docs/advanced.md +0 -2416
  517. package/external/rapidjson/thirdparty/gtest/googletest/docs/faq.md +0 -1092
  518. package/external/rapidjson/thirdparty/gtest/googletest/docs/primer.md +0 -536
  519. package/external/rapidjson/thirdparty/gtest/googletest/docs/samples.md +0 -14
  520. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-death-test.h +0 -342
  521. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-message.h +0 -249
  522. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h +0 -1438
  523. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h.pump +0 -501
  524. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-printers.h +0 -1082
  525. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-spi.h +0 -231
  526. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-test-part.h +0 -179
  527. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h +0 -264
  528. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest.h +0 -2332
  529. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h +0 -357
  530. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_prod.h +0 -61
  531. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h +0 -70
  532. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  533. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h +0 -45
  534. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -275
  535. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h +0 -205
  536. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h +0 -1277
  537. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
  538. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5139
  539. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -279
  540. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h +0 -723
  541. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h +0 -100
  542. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h +0 -2687
  543. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h +0 -167
  544. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
  545. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
  546. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h +0 -3347
  547. package/external/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump +0 -313
  548. package/external/rapidjson/thirdparty/gtest/googletest/m4/acx_pthread.m4 +0 -363
  549. package/external/rapidjson/thirdparty/gtest/googletest/m4/gtest.m4 +0 -74
  550. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest-md.sln +0 -55
  551. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest-md.vcxproj +0 -149
  552. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest-md.vcxproj.filters +0 -18
  553. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest.sln +0 -55
  554. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest.vcxproj +0 -149
  555. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest.vcxproj.filters +0 -18
  556. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main-md.vcxproj +0 -154
  557. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main-md.vcxproj.filters +0 -18
  558. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main.vcxproj +0 -162
  559. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main.vcxproj.filters +0 -18
  560. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test-md.vcxproj +0 -199
  561. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters +0 -26
  562. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test.vcxproj +0 -191
  563. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters +0 -26
  564. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest-md.vcxproj +0 -188
  565. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters +0 -18
  566. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest.vcxproj +0 -180
  567. package/external/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest.vcxproj.filters +0 -18
  568. package/external/rapidjson/thirdparty/gtest/googletest/samples/prime_tables.h +0 -127
  569. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample1.cc +0 -68
  570. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample1.h +0 -43
  571. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample10_unittest.cc +0 -140
  572. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample1_unittest.cc +0 -154
  573. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample2.cc +0 -56
  574. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample2.h +0 -85
  575. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample2_unittest.cc +0 -110
  576. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample3-inl.h +0 -172
  577. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample3_unittest.cc +0 -152
  578. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample4.cc +0 -46
  579. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample4.h +0 -53
  580. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample4_unittest.cc +0 -49
  581. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample5_unittest.cc +0 -199
  582. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample6_unittest.cc +0 -225
  583. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample7_unittest.cc +0 -118
  584. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample8_unittest.cc +0 -174
  585. package/external/rapidjson/thirdparty/gtest/googletest/samples/sample9_unittest.cc +0 -157
  586. package/external/rapidjson/thirdparty/gtest/googletest/scripts/common.py +0 -83
  587. package/external/rapidjson/thirdparty/gtest/googletest/scripts/fuse_gtest_files.py +0 -253
  588. package/external/rapidjson/thirdparty/gtest/googletest/scripts/gen_gtest_pred_impl.py +0 -730
  589. package/external/rapidjson/thirdparty/gtest/googletest/scripts/gtest-config.in +0 -274
  590. package/external/rapidjson/thirdparty/gtest/googletest/scripts/pump.py +0 -855
  591. package/external/rapidjson/thirdparty/gtest/googletest/scripts/release_docs.py +0 -158
  592. package/external/rapidjson/thirdparty/gtest/googletest/scripts/upload.py +0 -1387
  593. package/external/rapidjson/thirdparty/gtest/googletest/scripts/upload_gtest.py +0 -78
  594. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-all.cc +0 -48
  595. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-death-test.cc +0 -1536
  596. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-filepath.cc +0 -385
  597. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-internal-inl.h +0 -1175
  598. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-port.cc +0 -1277
  599. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-printers.cc +0 -458
  600. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-test-part.cc +0 -102
  601. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest-typed-test.cc +0 -119
  602. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest.cc +0 -5846
  603. package/external/rapidjson/thirdparty/gtest/googletest/src/gtest_main.cc +0 -38
  604. package/external/rapidjson/thirdparty/gtest/googletest/test/BUILD.bazel +0 -396
  605. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_ex_test.cc +0 -93
  606. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_test.cc +0 -1424
  607. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-filepath_test.cc +0 -652
  608. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-linked_ptr_test.cc +0 -154
  609. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-listener_test.cc +0 -311
  610. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-message_test.cc +0 -159
  611. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-options_test.cc +0 -213
  612. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test2_test.cc +0 -61
  613. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.cc +0 -1110
  614. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.h +0 -53
  615. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-port_test.cc +0 -1303
  616. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-printers_test.cc +0 -1737
  617. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-test-part_test.cc +0 -208
  618. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-tuple_test.cc +0 -320
  619. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test2_test.cc +0 -45
  620. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.cc +0 -380
  621. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.h +0 -66
  622. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest-unittest-api_test.cc +0 -341
  623. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_all_test.cc +0 -47
  624. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_assert_by_exception_test.cc +0 -119
  625. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest.py +0 -210
  626. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest_.cc +0 -87
  627. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test.py +0 -235
  628. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test_.cc +0 -311
  629. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test.py +0 -129
  630. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test_.cc +0 -63
  631. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test.py +0 -119
  632. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test_.cc +0 -124
  633. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_environment_test.cc +0 -189
  634. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest.py +0 -638
  635. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest_.cc +0 -138
  636. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test.py +0 -172
  637. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test_.cc +0 -46
  638. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_json_outfiles_test.py +0 -162
  639. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_json_output_unittest.py +0 -611
  640. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_json_test_utils.py +0 -60
  641. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest.py +0 -207
  642. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest_.cc +0 -157
  643. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_main_unittest.cc +0 -45
  644. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_no_test_unittest.cc +0 -56
  645. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test.py +0 -344
  646. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_.cc +0 -1067
  647. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_golden_lin.txt +0 -781
  648. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_pred_impl_unittest.cc +0 -2427
  649. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_premature_exit_test.cc +0 -127
  650. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_prod_test.cc +0 -57
  651. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_repeat_test.cc +0 -236
  652. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test.py +0 -325
  653. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_shuffle_test_.cc +0 -103
  654. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_sole_header_test.cc +0 -57
  655. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_stress_test.cc +0 -250
  656. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_test_utils.py +0 -318
  657. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_testbridge_test.py +0 -65
  658. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_testbridge_test_.cc +0 -44
  659. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_ex_test.cc +0 -92
  660. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test.py +0 -171
  661. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test_.cc +0 -72
  662. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test.py +0 -69
  663. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test_.cc +0 -43
  664. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_unittest.cc +0 -7797
  665. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile1_test_.cc +0 -48
  666. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile2_test_.cc +0 -48
  667. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfiles_test.py +0 -140
  668. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest.py +0 -378
  669. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest_.cc +0 -179
  670. package/external/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_test_utils.py +0 -196
  671. package/external/rapidjson/thirdparty/gtest/googletest/test/production.cc +0 -36
  672. package/external/rapidjson/thirdparty/gtest/googletest/test/production.h +0 -55
  673. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Config/DebugProject.xcconfig +0 -30
  674. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Config/FrameworkTarget.xcconfig +0 -17
  675. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Config/General.xcconfig +0 -41
  676. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Config/ReleaseProject.xcconfig +0 -32
  677. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Config/StaticLibraryTarget.xcconfig +0 -18
  678. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Config/TestTarget.xcconfig +0 -8
  679. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Resources/Info.plist +0 -30
  680. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/Info.plist +0 -28
  681. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj +0 -457
  682. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/runtests.sh +0 -62
  683. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.cc +0 -63
  684. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget.h +0 -59
  685. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Samples/FrameworkSample/widget_test.cc +0 -68
  686. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/runtests.sh +0 -65
  687. package/external/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/versiongenerate.py +0 -100
  688. package/external/rapidjson/thirdparty/gtest/googletest/xcode/gtest.xcodeproj/project.pbxproj +0 -1182
  689. package/external/rapidjson/travis-doxygen.sh +0 -121
  690. package/include/.clang-format +0 -76
  691. package/include/eosio/abi.hpp +0 -286
  692. package/include/eosio/asset.hpp +0 -458
  693. package/include/eosio/bytes.hpp +0 -27
  694. package/include/eosio/chain_conversions.hpp +0 -450
  695. package/include/eosio/chain_types.hpp +0 -14
  696. package/include/eosio/check.hpp +0 -178
  697. package/include/eosio/convert.hpp +0 -95
  698. package/include/eosio/crypto.hpp +0 -147
  699. package/include/eosio/eosio_outcome.hpp +0 -41
  700. package/include/eosio/fixed_bytes.hpp +0 -246
  701. package/include/eosio/float.hpp +0 -35
  702. package/include/eosio/for_each_field.hpp +0 -48
  703. package/include/eosio/fpconv.c +0 -336
  704. package/include/eosio/fpconv.h +0 -41
  705. package/include/eosio/fpconv.license +0 -23
  706. package/include/eosio/from_bin.hpp +0 -272
  707. package/include/eosio/from_json.hpp +0 -737
  708. package/include/eosio/from_string.hpp +0 -28
  709. package/include/eosio/map_macro.h +0 -64
  710. package/include/eosio/murmur.hpp +0 -55
  711. package/include/eosio/name.hpp +0 -174
  712. package/include/eosio/opaque.hpp +0 -108
  713. package/include/eosio/operators.hpp +0 -71
  714. package/include/eosio/powers.h +0 -76
  715. package/include/eosio/reflection.hpp +0 -61
  716. package/include/eosio/ship_protocol.hpp +0 -850
  717. package/include/eosio/stream.hpp +0 -231
  718. package/include/eosio/symbol.hpp +0 -300
  719. package/include/eosio/time.hpp +0 -264
  720. package/include/eosio/to_bin.hpp +0 -189
  721. package/include/eosio/to_json.hpp +0 -279
  722. package/include/eosio/to_key.hpp +0 -298
  723. package/include/eosio/types.hpp +0 -97
  724. package/include/eosio/varint.hpp +0 -452
  725. package/include/outcome-basic.hpp +0 -6836
  726. package/src/abi.cpp +0 -297
  727. package/src/abieos.cpp +0 -263
  728. package/src/abieos.h +0 -76
  729. package/src/abieos.hpp +0 -1010
  730. package/src/abieos_exception.hpp +0 -89
  731. package/src/abieos_numeric.hpp +0 -94
  732. package/src/abieos_ripemd160.hpp +0 -417
  733. package/src/crypto.cpp +0 -215
  734. package/src/key_test.cpp +0 -218
  735. package/src/main.cpp +0 -242
  736. package/src/reflect_test.cpp +0 -28
  737. package/src/template_test.cpp +0 -240
  738. package/src/test.cpp +0 -940
  739. package/tools/CMakeLists.txt +0 -9
  740. package/tools/name.cpp +0 -86
@@ -1,883 +0,0 @@
1
- // Copyright 2007, 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
- // Google Mock - a framework for writing C++ mock classes.
33
- //
34
- // This file implements the spec builder syntax (ON_CALL and
35
- // EXPECT_CALL).
36
-
37
- #include "gmock/gmock-spec-builders.h"
38
-
39
- #include <stdlib.h>
40
- #include <iostream> // NOLINT
41
- #include <map>
42
- #include <set>
43
- #include <string>
44
- #include <vector>
45
- #include "gmock/gmock.h"
46
- #include "gtest/gtest.h"
47
-
48
- #if GTEST_OS_CYGWIN || GTEST_OS_LINUX || GTEST_OS_MAC
49
- # include <unistd.h> // NOLINT
50
- #endif
51
-
52
- // Silence C4800 (C4800: 'int *const ': forcing value
53
- // to bool 'true' or 'false') for MSVC 14,15
54
- #ifdef _MSC_VER
55
- #if _MSC_VER <= 1900
56
- # pragma warning(push)
57
- # pragma warning(disable:4800)
58
- #endif
59
- #endif
60
-
61
- namespace testing {
62
- namespace internal {
63
-
64
- // Protects the mock object registry (in class Mock), all function
65
- // mockers, and all expectations.
66
- GTEST_API_ GTEST_DEFINE_STATIC_MUTEX_(g_gmock_mutex);
67
-
68
- // Logs a message including file and line number information.
69
- GTEST_API_ void LogWithLocation(testing::internal::LogSeverity severity,
70
- const char* file, int line,
71
- const std::string& message) {
72
- ::std::ostringstream s;
73
- s << file << ":" << line << ": " << message << ::std::endl;
74
- Log(severity, s.str(), 0);
75
- }
76
-
77
- // Constructs an ExpectationBase object.
78
- ExpectationBase::ExpectationBase(const char* a_file, int a_line,
79
- const std::string& a_source_text)
80
- : file_(a_file),
81
- line_(a_line),
82
- source_text_(a_source_text),
83
- cardinality_specified_(false),
84
- cardinality_(Exactly(1)),
85
- call_count_(0),
86
- retired_(false),
87
- extra_matcher_specified_(false),
88
- repeated_action_specified_(false),
89
- retires_on_saturation_(false),
90
- last_clause_(kNone),
91
- action_count_checked_(false) {}
92
-
93
- // Destructs an ExpectationBase object.
94
- ExpectationBase::~ExpectationBase() {}
95
-
96
- // Explicitly specifies the cardinality of this expectation. Used by
97
- // the subclasses to implement the .Times() clause.
98
- void ExpectationBase::SpecifyCardinality(const Cardinality& a_cardinality) {
99
- cardinality_specified_ = true;
100
- cardinality_ = a_cardinality;
101
- }
102
-
103
- // Retires all pre-requisites of this expectation.
104
- void ExpectationBase::RetireAllPreRequisites()
105
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
106
- if (is_retired()) {
107
- // We can take this short-cut as we never retire an expectation
108
- // until we have retired all its pre-requisites.
109
- return;
110
- }
111
-
112
- ::std::vector<ExpectationBase*> expectations(1, this);
113
- while (!expectations.empty()) {
114
- ExpectationBase* exp = expectations.back();
115
- expectations.pop_back();
116
-
117
- for (ExpectationSet::const_iterator it =
118
- exp->immediate_prerequisites_.begin();
119
- it != exp->immediate_prerequisites_.end(); ++it) {
120
- ExpectationBase* next = it->expectation_base().get();
121
- if (!next->is_retired()) {
122
- next->Retire();
123
- expectations.push_back(next);
124
- }
125
- }
126
- }
127
- }
128
-
129
- // Returns true iff all pre-requisites of this expectation have been
130
- // satisfied.
131
- bool ExpectationBase::AllPrerequisitesAreSatisfied() const
132
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
133
- g_gmock_mutex.AssertHeld();
134
- ::std::vector<const ExpectationBase*> expectations(1, this);
135
- while (!expectations.empty()) {
136
- const ExpectationBase* exp = expectations.back();
137
- expectations.pop_back();
138
-
139
- for (ExpectationSet::const_iterator it =
140
- exp->immediate_prerequisites_.begin();
141
- it != exp->immediate_prerequisites_.end(); ++it) {
142
- const ExpectationBase* next = it->expectation_base().get();
143
- if (!next->IsSatisfied()) return false;
144
- expectations.push_back(next);
145
- }
146
- }
147
- return true;
148
- }
149
-
150
- // Adds unsatisfied pre-requisites of this expectation to 'result'.
151
- void ExpectationBase::FindUnsatisfiedPrerequisites(ExpectationSet* result) const
152
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
153
- g_gmock_mutex.AssertHeld();
154
- ::std::vector<const ExpectationBase*> expectations(1, this);
155
- while (!expectations.empty()) {
156
- const ExpectationBase* exp = expectations.back();
157
- expectations.pop_back();
158
-
159
- for (ExpectationSet::const_iterator it =
160
- exp->immediate_prerequisites_.begin();
161
- it != exp->immediate_prerequisites_.end(); ++it) {
162
- const ExpectationBase* next = it->expectation_base().get();
163
-
164
- if (next->IsSatisfied()) {
165
- // If *it is satisfied and has a call count of 0, some of its
166
- // pre-requisites may not be satisfied yet.
167
- if (next->call_count_ == 0) {
168
- expectations.push_back(next);
169
- }
170
- } else {
171
- // Now that we know next is unsatisfied, we are not so interested
172
- // in whether its pre-requisites are satisfied. Therefore we
173
- // don't iterate into it here.
174
- *result += *it;
175
- }
176
- }
177
- }
178
- }
179
-
180
- // Describes how many times a function call matching this
181
- // expectation has occurred.
182
- void ExpectationBase::DescribeCallCountTo(::std::ostream* os) const
183
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
184
- g_gmock_mutex.AssertHeld();
185
-
186
- // Describes how many times the function is expected to be called.
187
- *os << " Expected: to be ";
188
- cardinality().DescribeTo(os);
189
- *os << "\n Actual: ";
190
- Cardinality::DescribeActualCallCountTo(call_count(), os);
191
-
192
- // Describes the state of the expectation (e.g. is it satisfied?
193
- // is it active?).
194
- *os << " - " << (IsOverSaturated() ? "over-saturated" :
195
- IsSaturated() ? "saturated" :
196
- IsSatisfied() ? "satisfied" : "unsatisfied")
197
- << " and "
198
- << (is_retired() ? "retired" : "active");
199
- }
200
-
201
- // Checks the action count (i.e. the number of WillOnce() and
202
- // WillRepeatedly() clauses) against the cardinality if this hasn't
203
- // been done before. Prints a warning if there are too many or too
204
- // few actions.
205
- void ExpectationBase::CheckActionCountIfNotDone() const
206
- GTEST_LOCK_EXCLUDED_(mutex_) {
207
- bool should_check = false;
208
- {
209
- MutexLock l(&mutex_);
210
- if (!action_count_checked_) {
211
- action_count_checked_ = true;
212
- should_check = true;
213
- }
214
- }
215
-
216
- if (should_check) {
217
- if (!cardinality_specified_) {
218
- // The cardinality was inferred - no need to check the action
219
- // count against it.
220
- return;
221
- }
222
-
223
- // The cardinality was explicitly specified.
224
- const int action_count = static_cast<int>(untyped_actions_.size());
225
- const int upper_bound = cardinality().ConservativeUpperBound();
226
- const int lower_bound = cardinality().ConservativeLowerBound();
227
- bool too_many; // True if there are too many actions, or false
228
- // if there are too few.
229
- if (action_count > upper_bound ||
230
- (action_count == upper_bound && repeated_action_specified_)) {
231
- too_many = true;
232
- } else if (0 < action_count && action_count < lower_bound &&
233
- !repeated_action_specified_) {
234
- too_many = false;
235
- } else {
236
- return;
237
- }
238
-
239
- ::std::stringstream ss;
240
- DescribeLocationTo(&ss);
241
- ss << "Too " << (too_many ? "many" : "few")
242
- << " actions specified in " << source_text() << "...\n"
243
- << "Expected to be ";
244
- cardinality().DescribeTo(&ss);
245
- ss << ", but has " << (too_many ? "" : "only ")
246
- << action_count << " WillOnce()"
247
- << (action_count == 1 ? "" : "s");
248
- if (repeated_action_specified_) {
249
- ss << " and a WillRepeatedly()";
250
- }
251
- ss << ".";
252
- Log(kWarning, ss.str(), -1); // -1 means "don't print stack trace".
253
- }
254
- }
255
-
256
- // Implements the .Times() clause.
257
- void ExpectationBase::UntypedTimes(const Cardinality& a_cardinality) {
258
- if (last_clause_ == kTimes) {
259
- ExpectSpecProperty(false,
260
- ".Times() cannot appear "
261
- "more than once in an EXPECT_CALL().");
262
- } else {
263
- ExpectSpecProperty(last_clause_ < kTimes,
264
- ".Times() cannot appear after "
265
- ".InSequence(), .WillOnce(), .WillRepeatedly(), "
266
- "or .RetiresOnSaturation().");
267
- }
268
- last_clause_ = kTimes;
269
-
270
- SpecifyCardinality(a_cardinality);
271
- }
272
-
273
- // Points to the implicit sequence introduced by a living InSequence
274
- // object (if any) in the current thread or NULL.
275
- GTEST_API_ ThreadLocal<Sequence*> g_gmock_implicit_sequence;
276
-
277
- // Reports an uninteresting call (whose description is in msg) in the
278
- // manner specified by 'reaction'.
279
- void ReportUninterestingCall(CallReaction reaction, const std::string& msg) {
280
- // Include a stack trace only if --gmock_verbose=info is specified.
281
- const int stack_frames_to_skip =
282
- GMOCK_FLAG(verbose) == kInfoVerbosity ? 3 : -1;
283
- switch (reaction) {
284
- case kAllow:
285
- Log(kInfo, msg, stack_frames_to_skip);
286
- break;
287
- case kWarn:
288
- Log(kWarning,
289
- msg +
290
- "\nNOTE: You can safely ignore the above warning unless this "
291
- "call should not happen. Do not suppress it by blindly adding "
292
- "an EXPECT_CALL() if you don't mean to enforce the call. "
293
- "See "
294
- "https://github.com/google/googletest/blob/master/googlemock/"
295
- "docs/CookBook.md#"
296
- "knowing-when-to-expect for details.\n",
297
- stack_frames_to_skip);
298
- break;
299
- default: // FAIL
300
- Expect(false, NULL, -1, msg);
301
- }
302
- }
303
-
304
- UntypedFunctionMockerBase::UntypedFunctionMockerBase()
305
- : mock_obj_(NULL), name_("") {}
306
-
307
- UntypedFunctionMockerBase::~UntypedFunctionMockerBase() {}
308
-
309
- // Sets the mock object this mock method belongs to, and registers
310
- // this information in the global mock registry. Will be called
311
- // whenever an EXPECT_CALL() or ON_CALL() is executed on this mock
312
- // method.
313
- void UntypedFunctionMockerBase::RegisterOwner(const void* mock_obj)
314
- GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
315
- {
316
- MutexLock l(&g_gmock_mutex);
317
- mock_obj_ = mock_obj;
318
- }
319
- Mock::Register(mock_obj, this);
320
- }
321
-
322
- // Sets the mock object this mock method belongs to, and sets the name
323
- // of the mock function. Will be called upon each invocation of this
324
- // mock function.
325
- void UntypedFunctionMockerBase::SetOwnerAndName(const void* mock_obj,
326
- const char* name)
327
- GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
328
- // We protect name_ under g_gmock_mutex in case this mock function
329
- // is called from two threads concurrently.
330
- MutexLock l(&g_gmock_mutex);
331
- mock_obj_ = mock_obj;
332
- name_ = name;
333
- }
334
-
335
- // Returns the name of the function being mocked. Must be called
336
- // after RegisterOwner() or SetOwnerAndName() has been called.
337
- const void* UntypedFunctionMockerBase::MockObject() const
338
- GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
339
- const void* mock_obj;
340
- {
341
- // We protect mock_obj_ under g_gmock_mutex in case this mock
342
- // function is called from two threads concurrently.
343
- MutexLock l(&g_gmock_mutex);
344
- Assert(mock_obj_ != NULL, __FILE__, __LINE__,
345
- "MockObject() must not be called before RegisterOwner() or "
346
- "SetOwnerAndName() has been called.");
347
- mock_obj = mock_obj_;
348
- }
349
- return mock_obj;
350
- }
351
-
352
- // Returns the name of this mock method. Must be called after
353
- // SetOwnerAndName() has been called.
354
- const char* UntypedFunctionMockerBase::Name() const
355
- GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
356
- const char* name;
357
- {
358
- // We protect name_ under g_gmock_mutex in case this mock
359
- // function is called from two threads concurrently.
360
- MutexLock l(&g_gmock_mutex);
361
- Assert(name_ != NULL, __FILE__, __LINE__,
362
- "Name() must not be called before SetOwnerAndName() has "
363
- "been called.");
364
- name = name_;
365
- }
366
- return name;
367
- }
368
-
369
- // Calculates the result of invoking this mock function with the given
370
- // arguments, prints it, and returns it. The caller is responsible
371
- // for deleting the result.
372
- UntypedActionResultHolderBase* UntypedFunctionMockerBase::UntypedInvokeWith(
373
- void* const untyped_args) GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
374
- // See the definition of untyped_expectations_ for why access to it
375
- // is unprotected here.
376
- if (untyped_expectations_.size() == 0) {
377
- // No expectation is set on this mock method - we have an
378
- // uninteresting call.
379
-
380
- // We must get Google Mock's reaction on uninteresting calls
381
- // made on this mock object BEFORE performing the action,
382
- // because the action may DELETE the mock object and make the
383
- // following expression meaningless.
384
- const CallReaction reaction =
385
- Mock::GetReactionOnUninterestingCalls(MockObject());
386
-
387
- // True iff we need to print this call's arguments and return
388
- // value. This definition must be kept in sync with
389
- // the behavior of ReportUninterestingCall().
390
- const bool need_to_report_uninteresting_call =
391
- // If the user allows this uninteresting call, we print it
392
- // only when they want informational messages.
393
- reaction == kAllow ? LogIsVisible(kInfo) :
394
- // If the user wants this to be a warning, we print
395
- // it only when they want to see warnings.
396
- reaction == kWarn
397
- ? LogIsVisible(kWarning)
398
- :
399
- // Otherwise, the user wants this to be an error, and we
400
- // should always print detailed information in the error.
401
- true;
402
-
403
- if (!need_to_report_uninteresting_call) {
404
- // Perform the action without printing the call information.
405
- return this->UntypedPerformDefaultAction(
406
- untyped_args, "Function call: " + std::string(Name()));
407
- }
408
-
409
- // Warns about the uninteresting call.
410
- ::std::stringstream ss;
411
- this->UntypedDescribeUninterestingCall(untyped_args, &ss);
412
-
413
- // Calculates the function result.
414
- UntypedActionResultHolderBase* const result =
415
- this->UntypedPerformDefaultAction(untyped_args, ss.str());
416
-
417
- // Prints the function result.
418
- if (result != NULL)
419
- result->PrintAsActionResult(&ss);
420
-
421
- ReportUninterestingCall(reaction, ss.str());
422
- return result;
423
- }
424
-
425
- bool is_excessive = false;
426
- ::std::stringstream ss;
427
- ::std::stringstream why;
428
- ::std::stringstream loc;
429
- const void* untyped_action = NULL;
430
-
431
- // The UntypedFindMatchingExpectation() function acquires and
432
- // releases g_gmock_mutex.
433
- const ExpectationBase* const untyped_expectation =
434
- this->UntypedFindMatchingExpectation(
435
- untyped_args, &untyped_action, &is_excessive,
436
- &ss, &why);
437
- const bool found = untyped_expectation != NULL;
438
-
439
- // True iff we need to print the call's arguments and return value.
440
- // This definition must be kept in sync with the uses of Expect()
441
- // and Log() in this function.
442
- const bool need_to_report_call =
443
- !found || is_excessive || LogIsVisible(kInfo);
444
- if (!need_to_report_call) {
445
- // Perform the action without printing the call information.
446
- return
447
- untyped_action == NULL ?
448
- this->UntypedPerformDefaultAction(untyped_args, "") :
449
- this->UntypedPerformAction(untyped_action, untyped_args);
450
- }
451
-
452
- ss << " Function call: " << Name();
453
- this->UntypedPrintArgs(untyped_args, &ss);
454
-
455
- // In case the action deletes a piece of the expectation, we
456
- // generate the message beforehand.
457
- if (found && !is_excessive) {
458
- untyped_expectation->DescribeLocationTo(&loc);
459
- }
460
-
461
- UntypedActionResultHolderBase* const result =
462
- untyped_action == NULL ?
463
- this->UntypedPerformDefaultAction(untyped_args, ss.str()) :
464
- this->UntypedPerformAction(untyped_action, untyped_args);
465
- if (result != NULL)
466
- result->PrintAsActionResult(&ss);
467
- ss << "\n" << why.str();
468
-
469
- if (!found) {
470
- // No expectation matches this call - reports a failure.
471
- Expect(false, NULL, -1, ss.str());
472
- } else if (is_excessive) {
473
- // We had an upper-bound violation and the failure message is in ss.
474
- Expect(false, untyped_expectation->file(),
475
- untyped_expectation->line(), ss.str());
476
- } else {
477
- // We had an expected call and the matching expectation is
478
- // described in ss.
479
- Log(kInfo, loc.str() + ss.str(), 2);
480
- }
481
-
482
- return result;
483
- }
484
-
485
- // Returns an Expectation object that references and co-owns exp,
486
- // which must be an expectation on this mock function.
487
- Expectation UntypedFunctionMockerBase::GetHandleOf(ExpectationBase* exp) {
488
- // See the definition of untyped_expectations_ for why access to it
489
- // is unprotected here.
490
- for (UntypedExpectations::const_iterator it =
491
- untyped_expectations_.begin();
492
- it != untyped_expectations_.end(); ++it) {
493
- if (it->get() == exp) {
494
- return Expectation(*it);
495
- }
496
- }
497
-
498
- Assert(false, __FILE__, __LINE__, "Cannot find expectation.");
499
- return Expectation();
500
- // The above statement is just to make the code compile, and will
501
- // never be executed.
502
- }
503
-
504
- // Verifies that all expectations on this mock function have been
505
- // satisfied. Reports one or more Google Test non-fatal failures
506
- // and returns false if not.
507
- bool UntypedFunctionMockerBase::VerifyAndClearExpectationsLocked()
508
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
509
- g_gmock_mutex.AssertHeld();
510
- bool expectations_met = true;
511
- for (UntypedExpectations::const_iterator it =
512
- untyped_expectations_.begin();
513
- it != untyped_expectations_.end(); ++it) {
514
- ExpectationBase* const untyped_expectation = it->get();
515
- if (untyped_expectation->IsOverSaturated()) {
516
- // There was an upper-bound violation. Since the error was
517
- // already reported when it occurred, there is no need to do
518
- // anything here.
519
- expectations_met = false;
520
- } else if (!untyped_expectation->IsSatisfied()) {
521
- expectations_met = false;
522
- ::std::stringstream ss;
523
- ss << "Actual function call count doesn't match "
524
- << untyped_expectation->source_text() << "...\n";
525
- // No need to show the source file location of the expectation
526
- // in the description, as the Expect() call that follows already
527
- // takes care of it.
528
- untyped_expectation->MaybeDescribeExtraMatcherTo(&ss);
529
- untyped_expectation->DescribeCallCountTo(&ss);
530
- Expect(false, untyped_expectation->file(),
531
- untyped_expectation->line(), ss.str());
532
- }
533
- }
534
-
535
- // Deleting our expectations may trigger other mock objects to be deleted, for
536
- // example if an action contains a reference counted smart pointer to that
537
- // mock object, and that is the last reference. So if we delete our
538
- // expectations within the context of the global mutex we may deadlock when
539
- // this method is called again. Instead, make a copy of the set of
540
- // expectations to delete, clear our set within the mutex, and then clear the
541
- // copied set outside of it.
542
- UntypedExpectations expectations_to_delete;
543
- untyped_expectations_.swap(expectations_to_delete);
544
-
545
- g_gmock_mutex.Unlock();
546
- expectations_to_delete.clear();
547
- g_gmock_mutex.Lock();
548
-
549
- return expectations_met;
550
- }
551
-
552
- CallReaction intToCallReaction(int mock_behavior) {
553
- if (mock_behavior >= kAllow && mock_behavior <= kFail) {
554
- return static_cast<internal::CallReaction>(mock_behavior);
555
- }
556
- return kWarn;
557
- }
558
-
559
- } // namespace internal
560
-
561
- // Class Mock.
562
-
563
- namespace {
564
-
565
- typedef std::set<internal::UntypedFunctionMockerBase*> FunctionMockers;
566
-
567
- // The current state of a mock object. Such information is needed for
568
- // detecting leaked mock objects and explicitly verifying a mock's
569
- // expectations.
570
- struct MockObjectState {
571
- MockObjectState()
572
- : first_used_file(NULL), first_used_line(-1), leakable(false) {}
573
-
574
- // Where in the source file an ON_CALL or EXPECT_CALL is first
575
- // invoked on this mock object.
576
- const char* first_used_file;
577
- int first_used_line;
578
- ::std::string first_used_test_case;
579
- ::std::string first_used_test;
580
- bool leakable; // true iff it's OK to leak the object.
581
- FunctionMockers function_mockers; // All registered methods of the object.
582
- };
583
-
584
- // A global registry holding the state of all mock objects that are
585
- // alive. A mock object is added to this registry the first time
586
- // Mock::AllowLeak(), ON_CALL(), or EXPECT_CALL() is called on it. It
587
- // is removed from the registry in the mock object's destructor.
588
- class MockObjectRegistry {
589
- public:
590
- // Maps a mock object (identified by its address) to its state.
591
- typedef std::map<const void*, MockObjectState> StateMap;
592
-
593
- // This destructor will be called when a program exits, after all
594
- // tests in it have been run. By then, there should be no mock
595
- // object alive. Therefore we report any living object as test
596
- // failure, unless the user explicitly asked us to ignore it.
597
- ~MockObjectRegistry() {
598
- // "using ::std::cout;" doesn't work with Symbian's STLport, where cout is
599
- // a macro.
600
-
601
- if (!GMOCK_FLAG(catch_leaked_mocks))
602
- return;
603
-
604
- int leaked_count = 0;
605
- for (StateMap::const_iterator it = states_.begin(); it != states_.end();
606
- ++it) {
607
- if (it->second.leakable) // The user said it's fine to leak this object.
608
- continue;
609
-
610
- // TODO(wan@google.com): Print the type of the leaked object.
611
- // This can help the user identify the leaked object.
612
- std::cout << "\n";
613
- const MockObjectState& state = it->second;
614
- std::cout << internal::FormatFileLocation(state.first_used_file,
615
- state.first_used_line);
616
- std::cout << " ERROR: this mock object";
617
- if (state.first_used_test != "") {
618
- std::cout << " (used in test " << state.first_used_test_case << "."
619
- << state.first_used_test << ")";
620
- }
621
- std::cout << " should be deleted but never is. Its address is @"
622
- << it->first << ".";
623
- leaked_count++;
624
- }
625
- if (leaked_count > 0) {
626
- std::cout << "\nERROR: " << leaked_count << " leaked mock "
627
- << (leaked_count == 1 ? "object" : "objects")
628
- << " found at program exit. Expectations on a mock object is "
629
- "verified when the object is destructed. Leaking a mock "
630
- "means that its expectations aren't verified, which is "
631
- "usually a test bug. If you really intend to leak a mock, "
632
- "you can suppress this error using "
633
- "testing::Mock::AllowLeak(mock_object), or you may use a "
634
- "fake or stub instead of a mock.\n";
635
- std::cout.flush();
636
- ::std::cerr.flush();
637
- // RUN_ALL_TESTS() has already returned when this destructor is
638
- // called. Therefore we cannot use the normal Google Test
639
- // failure reporting mechanism.
640
- _exit(1); // We cannot call exit() as it is not reentrant and
641
- // may already have been called.
642
- }
643
- }
644
-
645
- StateMap& states() { return states_; }
646
-
647
- private:
648
- StateMap states_;
649
- };
650
-
651
- // Protected by g_gmock_mutex.
652
- MockObjectRegistry g_mock_object_registry;
653
-
654
- // Maps a mock object to the reaction Google Mock should have when an
655
- // uninteresting method is called. Protected by g_gmock_mutex.
656
- std::map<const void*, internal::CallReaction> g_uninteresting_call_reaction;
657
-
658
- // Sets the reaction Google Mock should have when an uninteresting
659
- // method of the given mock object is called.
660
- void SetReactionOnUninterestingCalls(const void* mock_obj,
661
- internal::CallReaction reaction)
662
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
663
- internal::MutexLock l(&internal::g_gmock_mutex);
664
- g_uninteresting_call_reaction[mock_obj] = reaction;
665
- }
666
-
667
- } // namespace
668
-
669
- // Tells Google Mock to allow uninteresting calls on the given mock
670
- // object.
671
- void Mock::AllowUninterestingCalls(const void* mock_obj)
672
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
673
- SetReactionOnUninterestingCalls(mock_obj, internal::kAllow);
674
- }
675
-
676
- // Tells Google Mock to warn the user about uninteresting calls on the
677
- // given mock object.
678
- void Mock::WarnUninterestingCalls(const void* mock_obj)
679
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
680
- SetReactionOnUninterestingCalls(mock_obj, internal::kWarn);
681
- }
682
-
683
- // Tells Google Mock to fail uninteresting calls on the given mock
684
- // object.
685
- void Mock::FailUninterestingCalls(const void* mock_obj)
686
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
687
- SetReactionOnUninterestingCalls(mock_obj, internal::kFail);
688
- }
689
-
690
- // Tells Google Mock the given mock object is being destroyed and its
691
- // entry in the call-reaction table should be removed.
692
- void Mock::UnregisterCallReaction(const void* mock_obj)
693
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
694
- internal::MutexLock l(&internal::g_gmock_mutex);
695
- g_uninteresting_call_reaction.erase(mock_obj);
696
- }
697
-
698
- // Returns the reaction Google Mock will have on uninteresting calls
699
- // made on the given mock object.
700
- internal::CallReaction Mock::GetReactionOnUninterestingCalls(
701
- const void* mock_obj)
702
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
703
- internal::MutexLock l(&internal::g_gmock_mutex);
704
- return (g_uninteresting_call_reaction.count(mock_obj) == 0) ?
705
- internal::intToCallReaction(GMOCK_FLAG(default_mock_behavior)) :
706
- g_uninteresting_call_reaction[mock_obj];
707
- }
708
-
709
- // Tells Google Mock to ignore mock_obj when checking for leaked mock
710
- // objects.
711
- void Mock::AllowLeak(const void* mock_obj)
712
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
713
- internal::MutexLock l(&internal::g_gmock_mutex);
714
- g_mock_object_registry.states()[mock_obj].leakable = true;
715
- }
716
-
717
- // Verifies and clears all expectations on the given mock object. If
718
- // the expectations aren't satisfied, generates one or more Google
719
- // Test non-fatal failures and returns false.
720
- bool Mock::VerifyAndClearExpectations(void* mock_obj)
721
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
722
- internal::MutexLock l(&internal::g_gmock_mutex);
723
- return VerifyAndClearExpectationsLocked(mock_obj);
724
- }
725
-
726
- // Verifies all expectations on the given mock object and clears its
727
- // default actions and expectations. Returns true iff the
728
- // verification was successful.
729
- bool Mock::VerifyAndClear(void* mock_obj)
730
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
731
- internal::MutexLock l(&internal::g_gmock_mutex);
732
- ClearDefaultActionsLocked(mock_obj);
733
- return VerifyAndClearExpectationsLocked(mock_obj);
734
- }
735
-
736
- // Verifies and clears all expectations on the given mock object. If
737
- // the expectations aren't satisfied, generates one or more Google
738
- // Test non-fatal failures and returns false.
739
- bool Mock::VerifyAndClearExpectationsLocked(void* mock_obj)
740
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(internal::g_gmock_mutex) {
741
- internal::g_gmock_mutex.AssertHeld();
742
- if (g_mock_object_registry.states().count(mock_obj) == 0) {
743
- // No EXPECT_CALL() was set on the given mock object.
744
- return true;
745
- }
746
-
747
- // Verifies and clears the expectations on each mock method in the
748
- // given mock object.
749
- bool expectations_met = true;
750
- FunctionMockers& mockers =
751
- g_mock_object_registry.states()[mock_obj].function_mockers;
752
- for (FunctionMockers::const_iterator it = mockers.begin();
753
- it != mockers.end(); ++it) {
754
- if (!(*it)->VerifyAndClearExpectationsLocked()) {
755
- expectations_met = false;
756
- }
757
- }
758
-
759
- // We don't clear the content of mockers, as they may still be
760
- // needed by ClearDefaultActionsLocked().
761
- return expectations_met;
762
- }
763
-
764
- // Registers a mock object and a mock method it owns.
765
- void Mock::Register(const void* mock_obj,
766
- internal::UntypedFunctionMockerBase* mocker)
767
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
768
- internal::MutexLock l(&internal::g_gmock_mutex);
769
- g_mock_object_registry.states()[mock_obj].function_mockers.insert(mocker);
770
- }
771
-
772
- // Tells Google Mock where in the source code mock_obj is used in an
773
- // ON_CALL or EXPECT_CALL. In case mock_obj is leaked, this
774
- // information helps the user identify which object it is.
775
- void Mock::RegisterUseByOnCallOrExpectCall(const void* mock_obj,
776
- const char* file, int line)
777
- GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
778
- internal::MutexLock l(&internal::g_gmock_mutex);
779
- MockObjectState& state = g_mock_object_registry.states()[mock_obj];
780
- if (state.first_used_file == NULL) {
781
- state.first_used_file = file;
782
- state.first_used_line = line;
783
- const TestInfo* const test_info =
784
- UnitTest::GetInstance()->current_test_info();
785
- if (test_info != NULL) {
786
- // TODO(wan@google.com): record the test case name when the
787
- // ON_CALL or EXPECT_CALL is invoked from SetUpTestCase() or
788
- // TearDownTestCase().
789
- state.first_used_test_case = test_info->test_case_name();
790
- state.first_used_test = test_info->name();
791
- }
792
- }
793
- }
794
-
795
- // Unregisters a mock method; removes the owning mock object from the
796
- // registry when the last mock method associated with it has been
797
- // unregistered. This is called only in the destructor of
798
- // FunctionMockerBase.
799
- void Mock::UnregisterLocked(internal::UntypedFunctionMockerBase* mocker)
800
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(internal::g_gmock_mutex) {
801
- internal::g_gmock_mutex.AssertHeld();
802
- for (MockObjectRegistry::StateMap::iterator it =
803
- g_mock_object_registry.states().begin();
804
- it != g_mock_object_registry.states().end(); ++it) {
805
- FunctionMockers& mockers = it->second.function_mockers;
806
- if (mockers.erase(mocker) > 0) {
807
- // mocker was in mockers and has been just removed.
808
- if (mockers.empty()) {
809
- g_mock_object_registry.states().erase(it);
810
- }
811
- return;
812
- }
813
- }
814
- }
815
-
816
- // Clears all ON_CALL()s set on the given mock object.
817
- void Mock::ClearDefaultActionsLocked(void* mock_obj)
818
- GTEST_EXCLUSIVE_LOCK_REQUIRED_(internal::g_gmock_mutex) {
819
- internal::g_gmock_mutex.AssertHeld();
820
-
821
- if (g_mock_object_registry.states().count(mock_obj) == 0) {
822
- // No ON_CALL() was set on the given mock object.
823
- return;
824
- }
825
-
826
- // Clears the default actions for each mock method in the given mock
827
- // object.
828
- FunctionMockers& mockers =
829
- g_mock_object_registry.states()[mock_obj].function_mockers;
830
- for (FunctionMockers::const_iterator it = mockers.begin();
831
- it != mockers.end(); ++it) {
832
- (*it)->ClearDefaultActionsLocked();
833
- }
834
-
835
- // We don't clear the content of mockers, as they may still be
836
- // needed by VerifyAndClearExpectationsLocked().
837
- }
838
-
839
- Expectation::Expectation() {}
840
-
841
- Expectation::Expectation(
842
- const internal::linked_ptr<internal::ExpectationBase>& an_expectation_base)
843
- : expectation_base_(an_expectation_base) {}
844
-
845
- Expectation::~Expectation() {}
846
-
847
- // Adds an expectation to a sequence.
848
- void Sequence::AddExpectation(const Expectation& expectation) const {
849
- if (*last_expectation_ != expectation) {
850
- if (last_expectation_->expectation_base() != NULL) {
851
- expectation.expectation_base()->immediate_prerequisites_
852
- += *last_expectation_;
853
- }
854
- *last_expectation_ = expectation;
855
- }
856
- }
857
-
858
- // Creates the implicit sequence if there isn't one.
859
- InSequence::InSequence() {
860
- if (internal::g_gmock_implicit_sequence.get() == NULL) {
861
- internal::g_gmock_implicit_sequence.set(new Sequence);
862
- sequence_created_ = true;
863
- } else {
864
- sequence_created_ = false;
865
- }
866
- }
867
-
868
- // Deletes the implicit sequence if it was created by the constructor
869
- // of this object.
870
- InSequence::~InSequence() {
871
- if (sequence_created_) {
872
- delete internal::g_gmock_implicit_sequence.get();
873
- internal::g_gmock_implicit_sequence.set(NULL);
874
- }
875
- }
876
-
877
- } // namespace testing
878
-
879
- #ifdef _MSC_VER
880
- #if _MSC_VER <= 1900
881
- # pragma warning(pop)
882
- #endif
883
- #endif