rn-leveldb 3.11.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 (595) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +92 -0
  3. package/android/.project +34 -0
  4. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  5. package/android/CMakeLists.txt +69 -0
  6. package/android/build.gradle +125 -0
  7. package/android/cpp-adapter.cpp +19 -0
  8. package/android/gradle.properties +6 -0
  9. package/android/src/main/AndroidManifest.xml +4 -0
  10. package/android/src/main/java/com/reactnativeleveldb/LeveldbModule.java +57 -0
  11. package/android/src/main/java/com/reactnativeleveldb/LeveldbPackage.java +28 -0
  12. package/cpp/leveldb/.appveyor.yml +36 -0
  13. package/cpp/leveldb/.clang-format +18 -0
  14. package/cpp/leveldb/.travis.yml +88 -0
  15. package/cpp/leveldb/AUTHORS +12 -0
  16. package/cpp/leveldb/CMakeLists.txt +495 -0
  17. package/cpp/leveldb/CONTRIBUTING.md +36 -0
  18. package/cpp/leveldb/LICENSE +27 -0
  19. package/cpp/leveldb/NEWS +17 -0
  20. package/cpp/leveldb/README.md +231 -0
  21. package/cpp/leveldb/TODO +14 -0
  22. package/cpp/leveldb/benchmarks/db_bench.cc +990 -0
  23. package/cpp/leveldb/benchmarks/db_bench_sqlite3.cc +726 -0
  24. package/cpp/leveldb/benchmarks/db_bench_tree_db.cc +531 -0
  25. package/cpp/leveldb/cmake/leveldbConfig.cmake.in +9 -0
  26. package/cpp/leveldb/db/autocompact_test.cc +115 -0
  27. package/cpp/leveldb/db/builder.cc +82 -0
  28. package/cpp/leveldb/db/builder.h +30 -0
  29. package/cpp/leveldb/db/c.cc +562 -0
  30. package/cpp/leveldb/db/c_test.c +384 -0
  31. package/cpp/leveldb/db/corruption_test.cc +367 -0
  32. package/cpp/leveldb/db/db_impl.cc +1554 -0
  33. package/cpp/leveldb/db/db_impl.h +217 -0
  34. package/cpp/leveldb/db/db_iter.cc +318 -0
  35. package/cpp/leveldb/db/db_iter.h +26 -0
  36. package/cpp/leveldb/db/db_test.cc +2305 -0
  37. package/cpp/leveldb/db/dbformat.cc +136 -0
  38. package/cpp/leveldb/db/dbformat.h +224 -0
  39. package/cpp/leveldb/db/dbformat_test.cc +133 -0
  40. package/cpp/leveldb/db/dumpfile.cc +232 -0
  41. package/cpp/leveldb/db/fault_injection_test.cc +555 -0
  42. package/cpp/leveldb/db/filename.cc +141 -0
  43. package/cpp/leveldb/db/filename.h +83 -0
  44. package/cpp/leveldb/db/filename_test.cc +132 -0
  45. package/cpp/leveldb/db/leveldbutil.cc +64 -0
  46. package/cpp/leveldb/db/log_format.h +35 -0
  47. package/cpp/leveldb/db/log_reader.cc +274 -0
  48. package/cpp/leveldb/db/log_reader.h +112 -0
  49. package/cpp/leveldb/db/log_test.cc +563 -0
  50. package/cpp/leveldb/db/log_writer.cc +111 -0
  51. package/cpp/leveldb/db/log_writer.h +54 -0
  52. package/cpp/leveldb/db/memtable.cc +137 -0
  53. package/cpp/leveldb/db/memtable.h +87 -0
  54. package/cpp/leveldb/db/recovery_test.cc +339 -0
  55. package/cpp/leveldb/db/repair.cc +451 -0
  56. package/cpp/leveldb/db/skiplist.h +382 -0
  57. package/cpp/leveldb/db/skiplist_test.cc +373 -0
  58. package/cpp/leveldb/db/snapshot.h +95 -0
  59. package/cpp/leveldb/db/table_cache.cc +120 -0
  60. package/cpp/leveldb/db/table_cache.h +57 -0
  61. package/cpp/leveldb/db/version_edit.cc +257 -0
  62. package/cpp/leveldb/db/version_edit.h +106 -0
  63. package/cpp/leveldb/db/version_edit_test.cc +46 -0
  64. package/cpp/leveldb/db/version_set.cc +1562 -0
  65. package/cpp/leveldb/db/version_set.h +393 -0
  66. package/cpp/leveldb/db/version_set_test.cc +336 -0
  67. package/cpp/leveldb/db/write_batch.cc +150 -0
  68. package/cpp/leveldb/db/write_batch_internal.h +45 -0
  69. package/cpp/leveldb/db/write_batch_test.cc +137 -0
  70. package/cpp/leveldb/doc/benchmark.html +459 -0
  71. package/cpp/leveldb/doc/impl.md +172 -0
  72. package/cpp/leveldb/doc/index.md +523 -0
  73. package/cpp/leveldb/doc/log_format.md +75 -0
  74. package/cpp/leveldb/doc/table_format.md +107 -0
  75. package/cpp/leveldb/helpers/memenv/memenv.cc +390 -0
  76. package/cpp/leveldb/helpers/memenv/memenv.h +22 -0
  77. package/cpp/leveldb/helpers/memenv/memenv_test.cc +264 -0
  78. package/cpp/leveldb/include/leveldb/c.h +270 -0
  79. package/cpp/leveldb/include/leveldb/cache.h +111 -0
  80. package/cpp/leveldb/include/leveldb/comparator.h +64 -0
  81. package/cpp/leveldb/include/leveldb/db.h +167 -0
  82. package/cpp/leveldb/include/leveldb/dumpfile.h +28 -0
  83. package/cpp/leveldb/include/leveldb/env.h +417 -0
  84. package/cpp/leveldb/include/leveldb/export.h +33 -0
  85. package/cpp/leveldb/include/leveldb/filter_policy.h +72 -0
  86. package/cpp/leveldb/include/leveldb/iterator.h +112 -0
  87. package/cpp/leveldb/include/leveldb/options.h +187 -0
  88. package/cpp/leveldb/include/leveldb/slice.h +114 -0
  89. package/cpp/leveldb/include/leveldb/status.h +122 -0
  90. package/cpp/leveldb/include/leveldb/table.h +84 -0
  91. package/cpp/leveldb/include/leveldb/table_builder.h +93 -0
  92. package/cpp/leveldb/include/leveldb/write_batch.h +83 -0
  93. package/cpp/leveldb/issues/issue178_test.cc +90 -0
  94. package/cpp/leveldb/issues/issue200_test.cc +59 -0
  95. package/cpp/leveldb/issues/issue320_test.cc +131 -0
  96. package/cpp/leveldb/port/README.md +10 -0
  97. package/cpp/leveldb/port/port.h +19 -0
  98. package/cpp/leveldb/port/port_config.h.in +33 -0
  99. package/cpp/leveldb/port/port_example.h +100 -0
  100. package/cpp/leveldb/port/port_stdcxx.h +151 -0
  101. package/cpp/leveldb/port/thread_annotations.h +108 -0
  102. package/cpp/leveldb/table/block.cc +267 -0
  103. package/cpp/leveldb/table/block.h +44 -0
  104. package/cpp/leveldb/table/block_builder.cc +107 -0
  105. package/cpp/leveldb/table/block_builder.h +54 -0
  106. package/cpp/leveldb/table/filter_block.cc +106 -0
  107. package/cpp/leveldb/table/filter_block.h +68 -0
  108. package/cpp/leveldb/table/filter_block_test.cc +127 -0
  109. package/cpp/leveldb/table/format.cc +141 -0
  110. package/cpp/leveldb/table/format.h +99 -0
  111. package/cpp/leveldb/table/iterator.cc +76 -0
  112. package/cpp/leveldb/table/iterator_wrapper.h +92 -0
  113. package/cpp/leveldb/table/merger.cc +191 -0
  114. package/cpp/leveldb/table/merger.h +26 -0
  115. package/cpp/leveldb/table/table.cc +271 -0
  116. package/cpp/leveldb/table/table_builder.cc +265 -0
  117. package/cpp/leveldb/table/table_test.cc +834 -0
  118. package/cpp/leveldb/table/two_level_iterator.cc +171 -0
  119. package/cpp/leveldb/table/two_level_iterator.h +31 -0
  120. package/cpp/leveldb/third_party/benchmark/.clang-format +5 -0
  121. package/cpp/leveldb/third_party/benchmark/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  122. package/cpp/leveldb/third_party/benchmark/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  123. package/cpp/leveldb/third_party/benchmark/.github/workflows/build-and-test.yml +38 -0
  124. package/cpp/leveldb/third_party/benchmark/.github/workflows/pylint.yml +26 -0
  125. package/cpp/leveldb/third_party/benchmark/.github/workflows/test_bindings.yml +24 -0
  126. package/cpp/leveldb/third_party/benchmark/.travis-libcxx-setup.sh +28 -0
  127. package/cpp/leveldb/third_party/benchmark/.travis.yml +231 -0
  128. package/cpp/leveldb/third_party/benchmark/.ycm_extra_conf.py +115 -0
  129. package/cpp/leveldb/third_party/benchmark/AUTHORS +58 -0
  130. package/cpp/leveldb/third_party/benchmark/BUILD.bazel +44 -0
  131. package/cpp/leveldb/third_party/benchmark/CMakeLists.txt +287 -0
  132. package/cpp/leveldb/third_party/benchmark/CONTRIBUTING.md +58 -0
  133. package/cpp/leveldb/third_party/benchmark/CONTRIBUTORS +83 -0
  134. package/cpp/leveldb/third_party/benchmark/LICENSE +202 -0
  135. package/cpp/leveldb/third_party/benchmark/README.md +1323 -0
  136. package/cpp/leveldb/third_party/benchmark/WORKSPACE +51 -0
  137. package/cpp/leveldb/third_party/benchmark/_config.yml +1 -0
  138. package/cpp/leveldb/third_party/benchmark/appveyor.yml +50 -0
  139. package/cpp/leveldb/third_party/benchmark/bindings/python/BUILD +3 -0
  140. package/cpp/leveldb/third_party/benchmark/bindings/python/build_defs.bzl +25 -0
  141. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/BUILD +38 -0
  142. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/__init__.py +156 -0
  143. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/benchmark.cc +180 -0
  144. package/cpp/leveldb/third_party/benchmark/bindings/python/google_benchmark/example.py +136 -0
  145. package/cpp/leveldb/third_party/benchmark/bindings/python/pybind11.BUILD +20 -0
  146. package/cpp/leveldb/third_party/benchmark/bindings/python/python_headers.BUILD +6 -0
  147. package/cpp/leveldb/third_party/benchmark/bindings/python/requirements.txt +2 -0
  148. package/cpp/leveldb/third_party/benchmark/cmake/AddCXXCompilerFlag.cmake +74 -0
  149. package/cpp/leveldb/third_party/benchmark/cmake/CXXFeatureCheck.cmake +69 -0
  150. package/cpp/leveldb/third_party/benchmark/cmake/Config.cmake.in +1 -0
  151. package/cpp/leveldb/third_party/benchmark/cmake/GetGitVersion.cmake +54 -0
  152. package/cpp/leveldb/third_party/benchmark/cmake/GoogleTest.cmake +41 -0
  153. package/cpp/leveldb/third_party/benchmark/cmake/GoogleTest.cmake.in +58 -0
  154. package/cpp/leveldb/third_party/benchmark/cmake/benchmark.pc.in +12 -0
  155. package/cpp/leveldb/third_party/benchmark/cmake/gnu_posix_regex.cpp +12 -0
  156. package/cpp/leveldb/third_party/benchmark/cmake/llvm-toolchain.cmake +8 -0
  157. package/cpp/leveldb/third_party/benchmark/cmake/posix_regex.cpp +14 -0
  158. package/cpp/leveldb/third_party/benchmark/cmake/split_list.cmake +3 -0
  159. package/cpp/leveldb/third_party/benchmark/cmake/std_regex.cpp +10 -0
  160. package/cpp/leveldb/third_party/benchmark/cmake/steady_clock.cpp +7 -0
  161. package/cpp/leveldb/third_party/benchmark/cmake/thread_safety_attributes.cpp +4 -0
  162. package/cpp/leveldb/third_party/benchmark/conan/CMakeLists.txt +7 -0
  163. package/cpp/leveldb/third_party/benchmark/conan/test_package/CMakeLists.txt +10 -0
  164. package/cpp/leveldb/third_party/benchmark/conan/test_package/conanfile.py +19 -0
  165. package/cpp/leveldb/third_party/benchmark/conan/test_package/test_package.cpp +18 -0
  166. package/cpp/leveldb/third_party/benchmark/conanfile.py +79 -0
  167. package/cpp/leveldb/third_party/benchmark/dependencies.md +18 -0
  168. package/cpp/leveldb/third_party/benchmark/docs/AssemblyTests.md +147 -0
  169. package/cpp/leveldb/third_party/benchmark/docs/_config.yml +1 -0
  170. package/cpp/leveldb/third_party/benchmark/docs/releasing.md +16 -0
  171. package/cpp/leveldb/third_party/benchmark/docs/tools.md +203 -0
  172. package/cpp/leveldb/third_party/benchmark/include/benchmark/benchmark.h +1604 -0
  173. package/cpp/leveldb/third_party/benchmark/requirements.txt +2 -0
  174. package/cpp/leveldb/third_party/benchmark/setup.py +140 -0
  175. package/cpp/leveldb/third_party/benchmark/src/CMakeLists.txt +114 -0
  176. package/cpp/leveldb/third_party/benchmark/src/arraysize.h +33 -0
  177. package/cpp/leveldb/third_party/benchmark/src/benchmark.cc +499 -0
  178. package/cpp/leveldb/third_party/benchmark/src/benchmark_api_internal.cc +15 -0
  179. package/cpp/leveldb/third_party/benchmark/src/benchmark_api_internal.h +53 -0
  180. package/cpp/leveldb/third_party/benchmark/src/benchmark_main.cc +17 -0
  181. package/cpp/leveldb/third_party/benchmark/src/benchmark_name.cc +58 -0
  182. package/cpp/leveldb/third_party/benchmark/src/benchmark_register.cc +515 -0
  183. package/cpp/leveldb/third_party/benchmark/src/benchmark_register.h +108 -0
  184. package/cpp/leveldb/third_party/benchmark/src/benchmark_runner.cc +362 -0
  185. package/cpp/leveldb/third_party/benchmark/src/benchmark_runner.h +51 -0
  186. package/cpp/leveldb/third_party/benchmark/src/check.h +82 -0
  187. package/cpp/leveldb/third_party/benchmark/src/colorprint.cc +188 -0
  188. package/cpp/leveldb/third_party/benchmark/src/colorprint.h +33 -0
  189. package/cpp/leveldb/third_party/benchmark/src/commandlineflags.cc +228 -0
  190. package/cpp/leveldb/third_party/benchmark/src/commandlineflags.h +103 -0
  191. package/cpp/leveldb/third_party/benchmark/src/complexity.cc +238 -0
  192. package/cpp/leveldb/third_party/benchmark/src/complexity.h +55 -0
  193. package/cpp/leveldb/third_party/benchmark/src/console_reporter.cc +177 -0
  194. package/cpp/leveldb/third_party/benchmark/src/counter.cc +80 -0
  195. package/cpp/leveldb/third_party/benchmark/src/counter.h +32 -0
  196. package/cpp/leveldb/third_party/benchmark/src/csv_reporter.cc +154 -0
  197. package/cpp/leveldb/third_party/benchmark/src/cycleclock.h +211 -0
  198. package/cpp/leveldb/third_party/benchmark/src/internal_macros.h +102 -0
  199. package/cpp/leveldb/third_party/benchmark/src/json_reporter.cc +255 -0
  200. package/cpp/leveldb/third_party/benchmark/src/log.h +74 -0
  201. package/cpp/leveldb/third_party/benchmark/src/mutex.h +155 -0
  202. package/cpp/leveldb/third_party/benchmark/src/re.h +158 -0
  203. package/cpp/leveldb/third_party/benchmark/src/reporter.cc +105 -0
  204. package/cpp/leveldb/third_party/benchmark/src/sleep.cc +67 -0
  205. package/cpp/leveldb/third_party/benchmark/src/sleep.h +15 -0
  206. package/cpp/leveldb/third_party/benchmark/src/statistics.cc +193 -0
  207. package/cpp/leveldb/third_party/benchmark/src/statistics.h +37 -0
  208. package/cpp/leveldb/third_party/benchmark/src/string_util.cc +255 -0
  209. package/cpp/leveldb/third_party/benchmark/src/string_util.h +59 -0
  210. package/cpp/leveldb/third_party/benchmark/src/sysinfo.cc +716 -0
  211. package/cpp/leveldb/third_party/benchmark/src/thread_manager.h +64 -0
  212. package/cpp/leveldb/third_party/benchmark/src/thread_timer.h +86 -0
  213. package/cpp/leveldb/third_party/benchmark/src/timers.cc +245 -0
  214. package/cpp/leveldb/third_party/benchmark/src/timers.h +48 -0
  215. package/cpp/leveldb/third_party/benchmark/test/AssemblyTests.cmake +46 -0
  216. package/cpp/leveldb/third_party/benchmark/test/BUILD +73 -0
  217. package/cpp/leveldb/third_party/benchmark/test/CMakeLists.txt +263 -0
  218. package/cpp/leveldb/third_party/benchmark/test/args_product_test.cc +77 -0
  219. package/cpp/leveldb/third_party/benchmark/test/basic_test.cc +136 -0
  220. package/cpp/leveldb/third_party/benchmark/test/benchmark_gtest.cc +134 -0
  221. package/cpp/leveldb/third_party/benchmark/test/benchmark_name_gtest.cc +74 -0
  222. package/cpp/leveldb/third_party/benchmark/test/benchmark_test.cc +245 -0
  223. package/cpp/leveldb/third_party/benchmark/test/clobber_memory_assembly_test.cc +64 -0
  224. package/cpp/leveldb/third_party/benchmark/test/commandlineflags_gtest.cc +201 -0
  225. package/cpp/leveldb/third_party/benchmark/test/complexity_test.cc +213 -0
  226. package/cpp/leveldb/third_party/benchmark/test/cxx03_test.cc +63 -0
  227. package/cpp/leveldb/third_party/benchmark/test/diagnostics_test.cc +80 -0
  228. package/cpp/leveldb/third_party/benchmark/test/display_aggregates_only_test.cc +43 -0
  229. package/cpp/leveldb/third_party/benchmark/test/donotoptimize_assembly_test.cc +163 -0
  230. package/cpp/leveldb/third_party/benchmark/test/donotoptimize_test.cc +52 -0
  231. package/cpp/leveldb/third_party/benchmark/test/filter_test.cc +104 -0
  232. package/cpp/leveldb/third_party/benchmark/test/fixture_test.cc +51 -0
  233. package/cpp/leveldb/third_party/benchmark/test/internal_threading_test.cc +184 -0
  234. package/cpp/leveldb/third_party/benchmark/test/link_main_test.cc +8 -0
  235. package/cpp/leveldb/third_party/benchmark/test/map_test.cc +57 -0
  236. package/cpp/leveldb/third_party/benchmark/test/memory_manager_test.cc +44 -0
  237. package/cpp/leveldb/third_party/benchmark/test/multiple_ranges_test.cc +96 -0
  238. package/cpp/leveldb/third_party/benchmark/test/options_test.cc +75 -0
  239. package/cpp/leveldb/third_party/benchmark/test/output_test.h +213 -0
  240. package/cpp/leveldb/third_party/benchmark/test/output_test_helper.cc +515 -0
  241. package/cpp/leveldb/third_party/benchmark/test/register_benchmark_test.cc +184 -0
  242. package/cpp/leveldb/third_party/benchmark/test/report_aggregates_only_test.cc +39 -0
  243. package/cpp/leveldb/third_party/benchmark/test/reporter_output_test.cc +747 -0
  244. package/cpp/leveldb/third_party/benchmark/test/skip_with_error_test.cc +195 -0
  245. package/cpp/leveldb/third_party/benchmark/test/state_assembly_test.cc +68 -0
  246. package/cpp/leveldb/third_party/benchmark/test/statistics_gtest.cc +28 -0
  247. package/cpp/leveldb/third_party/benchmark/test/string_util_gtest.cc +153 -0
  248. package/cpp/leveldb/third_party/benchmark/test/templated_fixture_test.cc +28 -0
  249. package/cpp/leveldb/third_party/benchmark/test/user_counters_tabular_test.cc +285 -0
  250. package/cpp/leveldb/third_party/benchmark/test/user_counters_test.cc +531 -0
  251. package/cpp/leveldb/third_party/benchmark/test/user_counters_thousands_test.cc +173 -0
  252. package/cpp/leveldb/third_party/benchmark/tools/BUILD.bazel +19 -0
  253. package/cpp/leveldb/third_party/benchmark/tools/compare.py +429 -0
  254. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test1_run1.json +119 -0
  255. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test1_run2.json +119 -0
  256. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test2_run.json +81 -0
  257. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test3_run0.json +65 -0
  258. package/cpp/leveldb/third_party/benchmark/tools/gbench/Inputs/test3_run1.json +65 -0
  259. package/cpp/leveldb/third_party/benchmark/tools/gbench/__init__.py +8 -0
  260. package/cpp/leveldb/third_party/benchmark/tools/gbench/report.py +903 -0
  261. package/cpp/leveldb/third_party/benchmark/tools/gbench/util.py +163 -0
  262. package/cpp/leveldb/third_party/benchmark/tools/requirements.txt +1 -0
  263. package/cpp/leveldb/third_party/benchmark/tools/strip_asm.py +151 -0
  264. package/cpp/leveldb/third_party/googletest/.clang-format +4 -0
  265. package/cpp/leveldb/third_party/googletest/.travis.yml +73 -0
  266. package/cpp/leveldb/third_party/googletest/BUILD.bazel +179 -0
  267. package/cpp/leveldb/third_party/googletest/CMakeLists.txt +36 -0
  268. package/cpp/leveldb/third_party/googletest/CONTRIBUTING.md +142 -0
  269. package/cpp/leveldb/third_party/googletest/LICENSE +28 -0
  270. package/cpp/leveldb/third_party/googletest/README.md +132 -0
  271. package/cpp/leveldb/third_party/googletest/WORKSPACE +23 -0
  272. package/cpp/leveldb/third_party/googletest/appveyor.yml +154 -0
  273. package/cpp/leveldb/third_party/googletest/ci/build-linux-bazel.sh +37 -0
  274. package/cpp/leveldb/third_party/googletest/ci/build-platformio.sh +2 -0
  275. package/cpp/leveldb/third_party/googletest/ci/env-linux.sh +41 -0
  276. package/cpp/leveldb/third_party/googletest/ci/env-osx.sh +47 -0
  277. package/cpp/leveldb/third_party/googletest/ci/get-nprocessors.sh +48 -0
  278. package/cpp/leveldb/third_party/googletest/ci/install-linux.sh +49 -0
  279. package/cpp/leveldb/third_party/googletest/ci/install-osx.sh +40 -0
  280. package/cpp/leveldb/third_party/googletest/ci/install-platformio.sh +5 -0
  281. package/cpp/leveldb/third_party/googletest/ci/log-config.sh +51 -0
  282. package/cpp/leveldb/third_party/googletest/ci/travis.sh +44 -0
  283. package/cpp/leveldb/third_party/googletest/googlemock/CMakeLists.txt +233 -0
  284. package/cpp/leveldb/third_party/googletest/googlemock/CONTRIBUTORS +40 -0
  285. package/cpp/leveldb/third_party/googletest/googlemock/LICENSE +28 -0
  286. package/cpp/leveldb/third_party/googletest/googlemock/README.md +44 -0
  287. package/cpp/leveldb/third_party/googletest/googlemock/cmake/gmock.pc.in +10 -0
  288. package/cpp/leveldb/third_party/googletest/googlemock/cmake/gmock_main.pc.in +10 -0
  289. package/cpp/leveldb/third_party/googletest/googlemock/docs/cheat_sheet.md +770 -0
  290. package/cpp/leveldb/third_party/googletest/googlemock/docs/cook_book.md +4270 -0
  291. package/cpp/leveldb/third_party/googletest/googlemock/docs/for_dummies.md +700 -0
  292. package/cpp/leveldb/third_party/googletest/googlemock/docs/gmock_faq.md +396 -0
  293. package/cpp/leveldb/third_party/googletest/googlemock/docs/pump_manual.md +187 -0
  294. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-actions.h +1193 -0
  295. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-cardinalities.h +157 -0
  296. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-function-mocker.h +276 -0
  297. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h +1884 -0
  298. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-actions.h.pump +627 -0
  299. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h +752 -0
  300. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +227 -0
  301. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-matchers.h +1097 -0
  302. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-generated-matchers.h.pump +346 -0
  303. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-matchers.h +4591 -0
  304. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-more-actions.h +162 -0
  305. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-more-matchers.h +92 -0
  306. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-nice-strict.h +215 -0
  307. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h +1985 -0
  308. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/gmock.h +101 -0
  309. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/README.md +16 -0
  310. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +10 -0
  311. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +12 -0
  312. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-matchers.h +36 -0
  313. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/custom/gmock-port.h +39 -0
  314. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h +472 -0
  315. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/gmock-port.h +87 -0
  316. package/cpp/leveldb/third_party/googletest/googlemock/include/gmock/internal/gmock-pp.h +271 -0
  317. package/cpp/leveldb/third_party/googletest/googlemock/scripts/README.md +5 -0
  318. package/cpp/leveldb/third_party/googletest/googlemock/scripts/fuse_gmock_files.py +240 -0
  319. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/LICENSE +203 -0
  320. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/README +34 -0
  321. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/README.cppclean +115 -0
  322. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/__init__.py +0 -0
  323. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/ast.py +1761 -0
  324. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class.py +248 -0
  325. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class_test.py +540 -0
  326. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/keywords.py +56 -0
  327. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/tokenize.py +284 -0
  328. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/cpp/utils.py +37 -0
  329. package/cpp/leveldb/third_party/googletest/googlemock/scripts/generator/gmock_gen.py +30 -0
  330. package/cpp/leveldb/third_party/googletest/googlemock/scripts/pump.py +856 -0
  331. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-all.cc +46 -0
  332. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-cardinalities.cc +155 -0
  333. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-internal-utils.cc +200 -0
  334. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-matchers.cc +462 -0
  335. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock-spec-builders.cc +892 -0
  336. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock.cc +213 -0
  337. package/cpp/leveldb/third_party/googletest/googlemock/src/gmock_main.cc +72 -0
  338. package/cpp/leveldb/third_party/googletest/googlemock/test/BUILD.bazel +110 -0
  339. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-actions_test.cc +1507 -0
  340. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-cardinalities_test.cc +429 -0
  341. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-function-mocker_nc.cc +16 -0
  342. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-function-mocker_nc_test.py +43 -0
  343. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-function-mocker_test.cc +696 -0
  344. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-generated-actions_test.cc +1064 -0
  345. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-generated-function-mockers_test.cc +659 -0
  346. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-generated-matchers_test.cc +1323 -0
  347. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-internal-utils_test.cc +732 -0
  348. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-matchers_test.cc +6913 -0
  349. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-more-actions_test.cc +698 -0
  350. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-nice-strict_test.cc +500 -0
  351. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-port_test.cc +42 -0
  352. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-pp-string_test.cc +206 -0
  353. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-pp_test.cc +83 -0
  354. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock-spec-builders_test.cc +2775 -0
  355. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_all_test.cc +49 -0
  356. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_ex_test.cc +80 -0
  357. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_leak_test.py +104 -0
  358. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_leak_test_.cc +99 -0
  359. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_link2_test.cc +39 -0
  360. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_link_test.cc +39 -0
  361. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_link_test.h +690 -0
  362. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_output_test.py +183 -0
  363. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_output_test_.cc +309 -0
  364. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_output_test_golden.txt +317 -0
  365. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_stress_test.cc +240 -0
  366. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_test.cc +181 -0
  367. package/cpp/leveldb/third_party/googletest/googlemock/test/gmock_test_utils.py +108 -0
  368. package/cpp/leveldb/third_party/googletest/googlemock/test/pump_test.py +182 -0
  369. package/cpp/leveldb/third_party/googletest/googletest/CMakeLists.txt +329 -0
  370. package/cpp/leveldb/third_party/googletest/googletest/CONTRIBUTORS +38 -0
  371. package/cpp/leveldb/third_party/googletest/googletest/LICENSE +28 -0
  372. package/cpp/leveldb/third_party/googletest/googletest/README.md +244 -0
  373. package/cpp/leveldb/third_party/googletest/googletest/cmake/Config.cmake.in +9 -0
  374. package/cpp/leveldb/third_party/googletest/googletest/cmake/gtest.pc.in +9 -0
  375. package/cpp/leveldb/third_party/googletest/googletest/cmake/gtest_main.pc.in +10 -0
  376. package/cpp/leveldb/third_party/googletest/googletest/cmake/internal_utils.cmake +358 -0
  377. package/cpp/leveldb/third_party/googletest/googletest/cmake/libgtest.la.in +21 -0
  378. package/cpp/leveldb/third_party/googletest/googletest/docs/advanced.md +2567 -0
  379. package/cpp/leveldb/third_party/googletest/googletest/docs/faq.md +753 -0
  380. package/cpp/leveldb/third_party/googletest/googletest/docs/pkgconfig.md +219 -0
  381. package/cpp/leveldb/third_party/googletest/googletest/docs/primer.md +579 -0
  382. package/cpp/leveldb/third_party/googletest/googletest/docs/samples.md +22 -0
  383. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-death-test.h +343 -0
  384. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-matchers.h +750 -0
  385. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-message.h +219 -0
  386. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-param-test.h +514 -0
  387. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-printers.h +928 -0
  388. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-spi.h +238 -0
  389. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-test-part.h +184 -0
  390. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest-typed-test.h +337 -0
  391. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest.h +2477 -0
  392. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest_pred_impl.h +359 -0
  393. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/gtest_prod.h +61 -0
  394. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/README.md +56 -0
  395. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/gtest-port.h +37 -0
  396. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  397. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/custom/gtest.h +37 -0
  398. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h +304 -0
  399. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-filepath.h +211 -0
  400. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h +1411 -0
  401. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-param-util.h +880 -0
  402. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-port-arch.h +111 -0
  403. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-port.h +2227 -0
  404. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-string.h +171 -0
  405. package/cpp/leveldb/third_party/googletest/googletest/include/gtest/internal/gtest-type-util.h +183 -0
  406. package/cpp/leveldb/third_party/googletest/googletest/samples/prime_tables.h +126 -0
  407. package/cpp/leveldb/third_party/googletest/googletest/samples/sample1.cc +66 -0
  408. package/cpp/leveldb/third_party/googletest/googletest/samples/sample1.h +41 -0
  409. package/cpp/leveldb/third_party/googletest/googletest/samples/sample10_unittest.cc +139 -0
  410. package/cpp/leveldb/third_party/googletest/googletest/samples/sample1_unittest.cc +151 -0
  411. package/cpp/leveldb/third_party/googletest/googletest/samples/sample2.cc +54 -0
  412. package/cpp/leveldb/third_party/googletest/googletest/samples/sample2.h +81 -0
  413. package/cpp/leveldb/third_party/googletest/googletest/samples/sample2_unittest.cc +107 -0
  414. package/cpp/leveldb/third_party/googletest/googletest/samples/sample3-inl.h +172 -0
  415. package/cpp/leveldb/third_party/googletest/googletest/samples/sample3_unittest.cc +149 -0
  416. package/cpp/leveldb/third_party/googletest/googletest/samples/sample4.cc +54 -0
  417. package/cpp/leveldb/third_party/googletest/googletest/samples/sample4.h +53 -0
  418. package/cpp/leveldb/third_party/googletest/googletest/samples/sample4_unittest.cc +53 -0
  419. package/cpp/leveldb/third_party/googletest/googletest/samples/sample5_unittest.cc +196 -0
  420. package/cpp/leveldb/third_party/googletest/googletest/samples/sample6_unittest.cc +224 -0
  421. package/cpp/leveldb/third_party/googletest/googletest/samples/sample7_unittest.cc +117 -0
  422. package/cpp/leveldb/third_party/googletest/googletest/samples/sample8_unittest.cc +154 -0
  423. package/cpp/leveldb/third_party/googletest/googletest/samples/sample9_unittest.cc +156 -0
  424. package/cpp/leveldb/third_party/googletest/googletest/scripts/README.md +5 -0
  425. package/cpp/leveldb/third_party/googletest/googletest/scripts/common.py +83 -0
  426. package/cpp/leveldb/third_party/googletest/googletest/scripts/fuse_gtest_files.py +253 -0
  427. package/cpp/leveldb/third_party/googletest/googletest/scripts/gen_gtest_pred_impl.py +734 -0
  428. package/cpp/leveldb/third_party/googletest/googletest/scripts/gtest-config.in +274 -0
  429. package/cpp/leveldb/third_party/googletest/googletest/scripts/release_docs.py +158 -0
  430. package/cpp/leveldb/third_party/googletest/googletest/scripts/run_with_path.py +32 -0
  431. package/cpp/leveldb/third_party/googletest/googletest/scripts/upload.py +1402 -0
  432. package/cpp/leveldb/third_party/googletest/googletest/scripts/upload_gtest.py +78 -0
  433. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-all.cc +48 -0
  434. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-death-test.cc +1653 -0
  435. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-filepath.cc +382 -0
  436. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-internal-inl.h +1211 -0
  437. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-matchers.cc +97 -0
  438. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-port.cc +1399 -0
  439. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-printers.cc +442 -0
  440. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-test-part.cc +108 -0
  441. package/cpp/leveldb/third_party/googletest/googletest/src/gtest-typed-test.cc +118 -0
  442. package/cpp/leveldb/third_party/googletest/googletest/src/gtest.cc +6180 -0
  443. package/cpp/leveldb/third_party/googletest/googletest/src/gtest_main.cc +54 -0
  444. package/cpp/leveldb/third_party/googletest/googletest/test/BUILD.bazel +529 -0
  445. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-break-on-failure-unittest.py +208 -0
  446. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-break-on-failure-unittest_.cc +86 -0
  447. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-catch-exceptions-test.py +236 -0
  448. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-catch-exceptions-test_.cc +293 -0
  449. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-color-test.py +127 -0
  450. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-color-test_.cc +62 -0
  451. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-death-test-test.cc +1516 -0
  452. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-death-test_ex_test.cc +92 -0
  453. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-env-var-test.py +117 -0
  454. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-env-var-test_.cc +122 -0
  455. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-filepath-test.cc +649 -0
  456. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-filter-unittest.py +639 -0
  457. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-filter-unittest_.cc +137 -0
  458. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-json-outfiles-test.py +191 -0
  459. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-json-output-unittest.py +778 -0
  460. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-list-tests-unittest.py +205 -0
  461. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-list-tests-unittest_.cc +156 -0
  462. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-listener-test.cc +518 -0
  463. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-message-test.cc +158 -0
  464. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-options-test.cc +216 -0
  465. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-output-test-golden-lin.txt +1137 -0
  466. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-output-test.py +346 -0
  467. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-output-test_.cc +1149 -0
  468. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  469. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name1-test_.cc +50 -0
  470. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
  471. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-invalid-name2-test_.cc +55 -0
  472. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-test.cc +1086 -0
  473. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test-test.h +51 -0
  474. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-param-test2-test.cc +61 -0
  475. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-port-test.cc +1272 -0
  476. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-printers-test.cc +1619 -0
  477. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-shuffle-test.py +323 -0
  478. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-shuffle-test_.cc +101 -0
  479. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-test-part-test.cc +230 -0
  480. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-test2_test.cc +61 -0
  481. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-throw-on-failure-test.py +168 -0
  482. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
  483. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-uninitialized-test.py +67 -0
  484. package/cpp/leveldb/third_party/googletest/googletest/test/googletest-uninitialized-test_.cc +42 -0
  485. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-typed-test2_test.cc +44 -0
  486. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-typed-test_test.cc +462 -0
  487. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-typed-test_test.h +65 -0
  488. package/cpp/leveldb/third_party/googletest/googletest/test/gtest-unittest-api_test.cc +341 -0
  489. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_all_test.cc +46 -0
  490. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_assert_by_exception_test.cc +116 -0
  491. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_environment_test.cc +188 -0
  492. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_help_test.py +170 -0
  493. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_help_test_.cc +45 -0
  494. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_json_test_utils.py +60 -0
  495. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_list_output_unittest.py +141 -0
  496. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_list_output_unittest_.cc +51 -0
  497. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_main_unittest.cc +44 -0
  498. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_no_test_unittest.cc +54 -0
  499. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc +2427 -0
  500. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_premature_exit_test.cc +126 -0
  501. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_prod_test.cc +56 -0
  502. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_repeat_test.cc +233 -0
  503. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_check_output_test.py +59 -0
  504. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
  505. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_in_environment_setup_test.cc +49 -0
  506. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_skip_test.cc +55 -0
  507. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_sole_header_test.cc +56 -0
  508. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_stress_test.cc +248 -0
  509. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
  510. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_test_utils.py +314 -0
  511. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_testbridge_test.py +63 -0
  512. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_testbridge_test_.cc +43 -0
  513. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_throw_on_failure_ex_test.cc +90 -0
  514. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_unittest.cc +7496 -0
  515. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_outfile1_test_.cc +43 -0
  516. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_outfile2_test_.cc +43 -0
  517. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_outfiles_test.py +135 -0
  518. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_output_unittest.py +389 -0
  519. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_output_unittest_.cc +188 -0
  520. package/cpp/leveldb/third_party/googletest/googletest/test/gtest_xml_test_utils.py +196 -0
  521. package/cpp/leveldb/third_party/googletest/googletest/test/production.cc +35 -0
  522. package/cpp/leveldb/third_party/googletest/googletest/test/production.h +54 -0
  523. package/cpp/leveldb/third_party/googletest/library.json +66 -0
  524. package/cpp/leveldb/third_party/googletest/platformio.ini +47 -0
  525. package/cpp/leveldb/util/arena.cc +66 -0
  526. package/cpp/leveldb/util/arena.h +71 -0
  527. package/cpp/leveldb/util/arena_test.cc +66 -0
  528. package/cpp/leveldb/util/bloom.cc +92 -0
  529. package/cpp/leveldb/util/bloom_test.cc +159 -0
  530. package/cpp/leveldb/util/cache.cc +401 -0
  531. package/cpp/leveldb/util/cache_test.cc +229 -0
  532. package/cpp/leveldb/util/coding.cc +166 -0
  533. package/cpp/leveldb/util/coding.h +122 -0
  534. package/cpp/leveldb/util/coding_test.cc +198 -0
  535. package/cpp/leveldb/util/comparator.cc +75 -0
  536. package/cpp/leveldb/util/crc32c.cc +380 -0
  537. package/cpp/leveldb/util/crc32c.h +43 -0
  538. package/cpp/leveldb/util/crc32c_test.cc +61 -0
  539. package/cpp/leveldb/util/env.cc +108 -0
  540. package/cpp/leveldb/util/env_posix.cc +893 -0
  541. package/cpp/leveldb/util/env_posix_test.cc +353 -0
  542. package/cpp/leveldb/util/env_posix_test_helper.h +28 -0
  543. package/cpp/leveldb/util/env_test.cc +240 -0
  544. package/cpp/leveldb/util/env_windows.cc +796 -0
  545. package/cpp/leveldb/util/env_windows_test.cc +65 -0
  546. package/cpp/leveldb/util/env_windows_test_helper.h +25 -0
  547. package/cpp/leveldb/util/filter_policy.cc +11 -0
  548. package/cpp/leveldb/util/hash.cc +55 -0
  549. package/cpp/leveldb/util/hash.h +19 -0
  550. package/cpp/leveldb/util/hash_test.cc +46 -0
  551. package/cpp/leveldb/util/histogram.cc +272 -0
  552. package/cpp/leveldb/util/histogram.h +44 -0
  553. package/cpp/leveldb/util/logging.cc +82 -0
  554. package/cpp/leveldb/util/logging.h +44 -0
  555. package/cpp/leveldb/util/logging_test.cc +145 -0
  556. package/cpp/leveldb/util/mutexlock.h +39 -0
  557. package/cpp/leveldb/util/no_destructor.h +46 -0
  558. package/cpp/leveldb/util/no_destructor_test.cc +49 -0
  559. package/cpp/leveldb/util/options.cc +14 -0
  560. package/cpp/leveldb/util/posix_logger.h +130 -0
  561. package/cpp/leveldb/util/random.h +63 -0
  562. package/cpp/leveldb/util/status.cc +77 -0
  563. package/cpp/leveldb/util/status_test.cc +44 -0
  564. package/cpp/leveldb/util/testutil.cc +51 -0
  565. package/cpp/leveldb/util/testutil.h +82 -0
  566. package/cpp/leveldb/util/windows_logger.h +124 -0
  567. package/cpp/react-native-leveldb.cpp +694 -0
  568. package/cpp/react-native-leveldb.h +4 -0
  569. package/ios/Leveldb.h +9 -0
  570. package/ios/Leveldb.mm +35 -0
  571. package/ios/Leveldb.xcodeproj/project.pbxproj +288 -0
  572. package/lib/commonjs/fake.js +181 -0
  573. package/lib/commonjs/fake.js.map +1 -0
  574. package/lib/commonjs/fake.test.js +30 -0
  575. package/lib/commonjs/fake.test.js.map +1 -0
  576. package/lib/commonjs/index.js +172 -0
  577. package/lib/commonjs/index.js.map +1 -0
  578. package/lib/commonjs/package.json +1 -0
  579. package/lib/module/fake.js +171 -0
  580. package/lib/module/fake.js.map +1 -0
  581. package/lib/module/fake.test.js +30 -0
  582. package/lib/module/fake.test.js.map +1 -0
  583. package/lib/module/index.js +165 -0
  584. package/lib/module/index.js.map +1 -0
  585. package/lib/typescript/fake.d.ts +34 -0
  586. package/lib/typescript/fake.d.ts.map +1 -0
  587. package/lib/typescript/fake.test.d.ts +2 -0
  588. package/lib/typescript/fake.test.d.ts.map +1 -0
  589. package/lib/typescript/index.d.ts +72 -0
  590. package/lib/typescript/index.d.ts.map +1 -0
  591. package/package.json +157 -0
  592. package/rn-leveldb.podspec +30 -0
  593. package/src/fake.test.ts +37 -0
  594. package/src/fake.ts +203 -0
  595. package/src/index.ts +291 -0
@@ -0,0 +1,698 @@
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
+
31
+ // Google Mock - a framework for writing C++ mock classes.
32
+ //
33
+ // This file tests the built-in actions in gmock-more-actions.h.
34
+
35
+ #include "gmock/gmock-more-actions.h"
36
+
37
+ #include <functional>
38
+ #include <memory>
39
+ #include <sstream>
40
+ #include <string>
41
+ #include "gmock/gmock.h"
42
+ #include "gtest/gtest.h"
43
+
44
+ namespace testing {
45
+ namespace gmock_more_actions_test {
46
+
47
+ using ::std::plus;
48
+ using ::std::string;
49
+ using testing::_;
50
+ using testing::Action;
51
+ using testing::ActionInterface;
52
+ using testing::DeleteArg;
53
+ using testing::Invoke;
54
+ using testing::Return;
55
+ using testing::ReturnArg;
56
+ using testing::ReturnPointee;
57
+ using testing::SaveArg;
58
+ using testing::SaveArgPointee;
59
+ using testing::SetArgReferee;
60
+ using testing::Unused;
61
+ using testing::WithArg;
62
+ using testing::WithoutArgs;
63
+
64
+ // For suppressing compiler warnings on conversion possibly losing precision.
65
+ inline short Short(short n) { return n; } // NOLINT
66
+ inline char Char(char ch) { return ch; }
67
+
68
+ // Sample functions and functors for testing Invoke() and etc.
69
+ int Nullary() { return 1; }
70
+
71
+ class NullaryFunctor {
72
+ public:
73
+ int operator()() { return 2; }
74
+ };
75
+
76
+ bool g_done = false;
77
+ void VoidNullary() { g_done = true; }
78
+
79
+ class VoidNullaryFunctor {
80
+ public:
81
+ void operator()() { g_done = true; }
82
+ };
83
+
84
+ bool Unary(int x) { return x < 0; }
85
+
86
+ const char* Plus1(const char* s) { return s + 1; }
87
+
88
+ void VoidUnary(int /* n */) { g_done = true; }
89
+
90
+ bool ByConstRef(const std::string& s) { return s == "Hi"; }
91
+
92
+ const double g_double = 0;
93
+ bool ReferencesGlobalDouble(const double& x) { return &x == &g_double; }
94
+
95
+ std::string ByNonConstRef(std::string& s) { return s += "+"; } // NOLINT
96
+
97
+ struct UnaryFunctor {
98
+ int operator()(bool x) { return x ? 1 : -1; }
99
+ };
100
+
101
+ const char* Binary(const char* input, short n) { return input + n; } // NOLINT
102
+
103
+ void VoidBinary(int, char) { g_done = true; }
104
+
105
+ int Ternary(int x, char y, short z) { return x + y + z; } // NOLINT
106
+
107
+ void VoidTernary(int, char, bool) { g_done = true; }
108
+
109
+ int SumOf4(int a, int b, int c, int d) { return a + b + c + d; }
110
+
111
+ int SumOfFirst2(int a, int b, Unused, Unused) { return a + b; }
112
+
113
+ void VoidFunctionWithFourArguments(char, int, float, double) { g_done = true; }
114
+
115
+ std::string Concat4(const char* s1, const char* s2, const char* s3,
116
+ const char* s4) {
117
+ return std::string(s1) + s2 + s3 + s4;
118
+ }
119
+
120
+ int SumOf5(int a, int b, int c, int d, int e) { return a + b + c + d + e; }
121
+
122
+ struct SumOf5Functor {
123
+ int operator()(int a, int b, int c, int d, int e) {
124
+ return a + b + c + d + e;
125
+ }
126
+ };
127
+
128
+ std::string Concat5(const char* s1, const char* s2, const char* s3,
129
+ const char* s4, const char* s5) {
130
+ return std::string(s1) + s2 + s3 + s4 + s5;
131
+ }
132
+
133
+ int SumOf6(int a, int b, int c, int d, int e, int f) {
134
+ return a + b + c + d + e + f;
135
+ }
136
+
137
+ struct SumOf6Functor {
138
+ int operator()(int a, int b, int c, int d, int e, int f) {
139
+ return a + b + c + d + e + f;
140
+ }
141
+ };
142
+
143
+ std::string Concat6(const char* s1, const char* s2, const char* s3,
144
+ const char* s4, const char* s5, const char* s6) {
145
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6;
146
+ }
147
+
148
+ std::string Concat7(const char* s1, const char* s2, const char* s3,
149
+ const char* s4, const char* s5, const char* s6,
150
+ const char* s7) {
151
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7;
152
+ }
153
+
154
+ std::string Concat8(const char* s1, const char* s2, const char* s3,
155
+ const char* s4, const char* s5, const char* s6,
156
+ const char* s7, const char* s8) {
157
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7 + s8;
158
+ }
159
+
160
+ std::string Concat9(const char* s1, const char* s2, const char* s3,
161
+ const char* s4, const char* s5, const char* s6,
162
+ const char* s7, const char* s8, const char* s9) {
163
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9;
164
+ }
165
+
166
+ std::string Concat10(const char* s1, const char* s2, const char* s3,
167
+ const char* s4, const char* s5, const char* s6,
168
+ const char* s7, const char* s8, const char* s9,
169
+ const char* s10) {
170
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9 + s10;
171
+ }
172
+
173
+ class Foo {
174
+ public:
175
+ Foo() : value_(123) {}
176
+
177
+ int Nullary() const { return value_; }
178
+
179
+ short Unary(long x) { return static_cast<short>(value_ + x); } // NOLINT
180
+
181
+ std::string Binary(const std::string& str, char c) const { return str + c; }
182
+
183
+ int Ternary(int x, bool y, char z) { return value_ + x + y*z; }
184
+
185
+ int SumOf4(int a, int b, int c, int d) const {
186
+ return a + b + c + d + value_;
187
+ }
188
+
189
+ int SumOfLast2(Unused, Unused, int a, int b) const { return a + b; }
190
+
191
+ int SumOf5(int a, int b, int c, int d, int e) { return a + b + c + d + e; }
192
+
193
+ int SumOf6(int a, int b, int c, int d, int e, int f) {
194
+ return a + b + c + d + e + f;
195
+ }
196
+
197
+ std::string Concat7(const char* s1, const char* s2, const char* s3,
198
+ const char* s4, const char* s5, const char* s6,
199
+ const char* s7) {
200
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7;
201
+ }
202
+
203
+ std::string Concat8(const char* s1, const char* s2, const char* s3,
204
+ const char* s4, const char* s5, const char* s6,
205
+ const char* s7, const char* s8) {
206
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7 + s8;
207
+ }
208
+
209
+ std::string Concat9(const char* s1, const char* s2, const char* s3,
210
+ const char* s4, const char* s5, const char* s6,
211
+ const char* s7, const char* s8, const char* s9) {
212
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9;
213
+ }
214
+
215
+ std::string Concat10(const char* s1, const char* s2, const char* s3,
216
+ const char* s4, const char* s5, const char* s6,
217
+ const char* s7, const char* s8, const char* s9,
218
+ const char* s10) {
219
+ return std::string(s1) + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9 + s10;
220
+ }
221
+
222
+ private:
223
+ int value_;
224
+ };
225
+
226
+ // Tests using Invoke() with a nullary function.
227
+ TEST(InvokeTest, Nullary) {
228
+ Action<int()> a = Invoke(Nullary); // NOLINT
229
+ EXPECT_EQ(1, a.Perform(std::make_tuple()));
230
+ }
231
+
232
+ // Tests using Invoke() with a unary function.
233
+ TEST(InvokeTest, Unary) {
234
+ Action<bool(int)> a = Invoke(Unary); // NOLINT
235
+ EXPECT_FALSE(a.Perform(std::make_tuple(1)));
236
+ EXPECT_TRUE(a.Perform(std::make_tuple(-1)));
237
+ }
238
+
239
+ // Tests using Invoke() with a binary function.
240
+ TEST(InvokeTest, Binary) {
241
+ Action<const char*(const char*, short)> a = Invoke(Binary); // NOLINT
242
+ const char* p = "Hello";
243
+ EXPECT_EQ(p + 2, a.Perform(std::make_tuple(p, Short(2))));
244
+ }
245
+
246
+ // Tests using Invoke() with a ternary function.
247
+ TEST(InvokeTest, Ternary) {
248
+ Action<int(int, char, short)> a = Invoke(Ternary); // NOLINT
249
+ EXPECT_EQ(6, a.Perform(std::make_tuple(1, '\2', Short(3))));
250
+ }
251
+
252
+ // Tests using Invoke() with a 4-argument function.
253
+ TEST(InvokeTest, FunctionThatTakes4Arguments) {
254
+ Action<int(int, int, int, int)> a = Invoke(SumOf4); // NOLINT
255
+ EXPECT_EQ(1234, a.Perform(std::make_tuple(1000, 200, 30, 4)));
256
+ }
257
+
258
+ // Tests using Invoke() with a 5-argument function.
259
+ TEST(InvokeTest, FunctionThatTakes5Arguments) {
260
+ Action<int(int, int, int, int, int)> a = Invoke(SumOf5); // NOLINT
261
+ EXPECT_EQ(12345, a.Perform(std::make_tuple(10000, 2000, 300, 40, 5)));
262
+ }
263
+
264
+ // Tests using Invoke() with a 6-argument function.
265
+ TEST(InvokeTest, FunctionThatTakes6Arguments) {
266
+ Action<int(int, int, int, int, int, int)> a = Invoke(SumOf6); // NOLINT
267
+ EXPECT_EQ(123456,
268
+ a.Perform(std::make_tuple(100000, 20000, 3000, 400, 50, 6)));
269
+ }
270
+
271
+ // A helper that turns the type of a C-string literal from const
272
+ // char[N] to const char*.
273
+ inline const char* CharPtr(const char* s) { return s; }
274
+
275
+ // Tests using Invoke() with a 7-argument function.
276
+ TEST(InvokeTest, FunctionThatTakes7Arguments) {
277
+ Action<std::string(const char*, const char*, const char*, const char*,
278
+ const char*, const char*, const char*)>
279
+ a = Invoke(Concat7);
280
+ EXPECT_EQ("1234567",
281
+ a.Perform(std::make_tuple(CharPtr("1"), CharPtr("2"), CharPtr("3"),
282
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
283
+ CharPtr("7"))));
284
+ }
285
+
286
+ // Tests using Invoke() with a 8-argument function.
287
+ TEST(InvokeTest, FunctionThatTakes8Arguments) {
288
+ Action<std::string(const char*, const char*, const char*, const char*,
289
+ const char*, const char*, const char*, const char*)>
290
+ a = Invoke(Concat8);
291
+ EXPECT_EQ("12345678",
292
+ a.Perform(std::make_tuple(CharPtr("1"), CharPtr("2"), CharPtr("3"),
293
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
294
+ CharPtr("7"), CharPtr("8"))));
295
+ }
296
+
297
+ // Tests using Invoke() with a 9-argument function.
298
+ TEST(InvokeTest, FunctionThatTakes9Arguments) {
299
+ Action<std::string(const char*, const char*, const char*, const char*,
300
+ const char*, const char*, const char*, const char*,
301
+ const char*)>
302
+ a = Invoke(Concat9);
303
+ EXPECT_EQ("123456789", a.Perform(std::make_tuple(
304
+ CharPtr("1"), CharPtr("2"), CharPtr("3"),
305
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
306
+ CharPtr("7"), CharPtr("8"), CharPtr("9"))));
307
+ }
308
+
309
+ // Tests using Invoke() with a 10-argument function.
310
+ TEST(InvokeTest, FunctionThatTakes10Arguments) {
311
+ Action<std::string(const char*, const char*, const char*, const char*,
312
+ const char*, const char*, const char*, const char*,
313
+ const char*, const char*)>
314
+ a = Invoke(Concat10);
315
+ EXPECT_EQ("1234567890",
316
+ a.Perform(std::make_tuple(CharPtr("1"), CharPtr("2"), CharPtr("3"),
317
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
318
+ CharPtr("7"), CharPtr("8"), CharPtr("9"),
319
+ CharPtr("0"))));
320
+ }
321
+
322
+ // Tests using Invoke() with functions with parameters declared as Unused.
323
+ TEST(InvokeTest, FunctionWithUnusedParameters) {
324
+ Action<int(int, int, double, const std::string&)> a1 = Invoke(SumOfFirst2);
325
+ std::tuple<int, int, double, std::string> dummy =
326
+ std::make_tuple(10, 2, 5.6, std::string("hi"));
327
+ EXPECT_EQ(12, a1.Perform(dummy));
328
+
329
+ Action<int(int, int, bool, int*)> a2 =
330
+ Invoke(SumOfFirst2);
331
+ EXPECT_EQ(
332
+ 23, a2.Perform(std::make_tuple(20, 3, true, static_cast<int*>(nullptr))));
333
+ }
334
+
335
+ // Tests using Invoke() with methods with parameters declared as Unused.
336
+ TEST(InvokeTest, MethodWithUnusedParameters) {
337
+ Foo foo;
338
+ Action<int(std::string, bool, int, int)> a1 = Invoke(&foo, &Foo::SumOfLast2);
339
+ EXPECT_EQ(12, a1.Perform(std::make_tuple(CharPtr("hi"), true, 10, 2)));
340
+
341
+ Action<int(char, double, int, int)> a2 =
342
+ Invoke(&foo, &Foo::SumOfLast2);
343
+ EXPECT_EQ(23, a2.Perform(std::make_tuple('a', 2.5, 20, 3)));
344
+ }
345
+
346
+ // Tests using Invoke() with a functor.
347
+ TEST(InvokeTest, Functor) {
348
+ Action<long(long, int)> a = Invoke(plus<long>()); // NOLINT
349
+ EXPECT_EQ(3L, a.Perform(std::make_tuple(1, 2)));
350
+ }
351
+
352
+ // Tests using Invoke(f) as an action of a compatible type.
353
+ TEST(InvokeTest, FunctionWithCompatibleType) {
354
+ Action<long(int, short, char, bool)> a = Invoke(SumOf4); // NOLINT
355
+ EXPECT_EQ(4321, a.Perform(std::make_tuple(4000, Short(300), Char(20), true)));
356
+ }
357
+
358
+ // Tests using Invoke() with an object pointer and a method pointer.
359
+
360
+ // Tests using Invoke() with a nullary method.
361
+ TEST(InvokeMethodTest, Nullary) {
362
+ Foo foo;
363
+ Action<int()> a = Invoke(&foo, &Foo::Nullary); // NOLINT
364
+ EXPECT_EQ(123, a.Perform(std::make_tuple()));
365
+ }
366
+
367
+ // Tests using Invoke() with a unary method.
368
+ TEST(InvokeMethodTest, Unary) {
369
+ Foo foo;
370
+ Action<short(long)> a = Invoke(&foo, &Foo::Unary); // NOLINT
371
+ EXPECT_EQ(4123, a.Perform(std::make_tuple(4000)));
372
+ }
373
+
374
+ // Tests using Invoke() with a binary method.
375
+ TEST(InvokeMethodTest, Binary) {
376
+ Foo foo;
377
+ Action<std::string(const std::string&, char)> a = Invoke(&foo, &Foo::Binary);
378
+ std::string s("Hell");
379
+ std::tuple<std::string, char> dummy = std::make_tuple(s, 'o');
380
+ EXPECT_EQ("Hello", a.Perform(dummy));
381
+ }
382
+
383
+ // Tests using Invoke() with a ternary method.
384
+ TEST(InvokeMethodTest, Ternary) {
385
+ Foo foo;
386
+ Action<int(int, bool, char)> a = Invoke(&foo, &Foo::Ternary); // NOLINT
387
+ EXPECT_EQ(1124, a.Perform(std::make_tuple(1000, true, Char(1))));
388
+ }
389
+
390
+ // Tests using Invoke() with a 4-argument method.
391
+ TEST(InvokeMethodTest, MethodThatTakes4Arguments) {
392
+ Foo foo;
393
+ Action<int(int, int, int, int)> a = Invoke(&foo, &Foo::SumOf4); // NOLINT
394
+ EXPECT_EQ(1357, a.Perform(std::make_tuple(1000, 200, 30, 4)));
395
+ }
396
+
397
+ // Tests using Invoke() with a 5-argument method.
398
+ TEST(InvokeMethodTest, MethodThatTakes5Arguments) {
399
+ Foo foo;
400
+ Action<int(int, int, int, int, int)> a = Invoke(&foo, &Foo::SumOf5); // NOLINT
401
+ EXPECT_EQ(12345, a.Perform(std::make_tuple(10000, 2000, 300, 40, 5)));
402
+ }
403
+
404
+ // Tests using Invoke() with a 6-argument method.
405
+ TEST(InvokeMethodTest, MethodThatTakes6Arguments) {
406
+ Foo foo;
407
+ Action<int(int, int, int, int, int, int)> a = // NOLINT
408
+ Invoke(&foo, &Foo::SumOf6);
409
+ EXPECT_EQ(123456,
410
+ a.Perform(std::make_tuple(100000, 20000, 3000, 400, 50, 6)));
411
+ }
412
+
413
+ // Tests using Invoke() with a 7-argument method.
414
+ TEST(InvokeMethodTest, MethodThatTakes7Arguments) {
415
+ Foo foo;
416
+ Action<std::string(const char*, const char*, const char*, const char*,
417
+ const char*, const char*, const char*)>
418
+ a = Invoke(&foo, &Foo::Concat7);
419
+ EXPECT_EQ("1234567",
420
+ a.Perform(std::make_tuple(CharPtr("1"), CharPtr("2"), CharPtr("3"),
421
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
422
+ CharPtr("7"))));
423
+ }
424
+
425
+ // Tests using Invoke() with a 8-argument method.
426
+ TEST(InvokeMethodTest, MethodThatTakes8Arguments) {
427
+ Foo foo;
428
+ Action<std::string(const char*, const char*, const char*, const char*,
429
+ const char*, const char*, const char*, const char*)>
430
+ a = Invoke(&foo, &Foo::Concat8);
431
+ EXPECT_EQ("12345678",
432
+ a.Perform(std::make_tuple(CharPtr("1"), CharPtr("2"), CharPtr("3"),
433
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
434
+ CharPtr("7"), CharPtr("8"))));
435
+ }
436
+
437
+ // Tests using Invoke() with a 9-argument method.
438
+ TEST(InvokeMethodTest, MethodThatTakes9Arguments) {
439
+ Foo foo;
440
+ Action<std::string(const char*, const char*, const char*, const char*,
441
+ const char*, const char*, const char*, const char*,
442
+ const char*)>
443
+ a = Invoke(&foo, &Foo::Concat9);
444
+ EXPECT_EQ("123456789", a.Perform(std::make_tuple(
445
+ CharPtr("1"), CharPtr("2"), CharPtr("3"),
446
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
447
+ CharPtr("7"), CharPtr("8"), CharPtr("9"))));
448
+ }
449
+
450
+ // Tests using Invoke() with a 10-argument method.
451
+ TEST(InvokeMethodTest, MethodThatTakes10Arguments) {
452
+ Foo foo;
453
+ Action<std::string(const char*, const char*, const char*, const char*,
454
+ const char*, const char*, const char*, const char*,
455
+ const char*, const char*)>
456
+ a = Invoke(&foo, &Foo::Concat10);
457
+ EXPECT_EQ("1234567890",
458
+ a.Perform(std::make_tuple(CharPtr("1"), CharPtr("2"), CharPtr("3"),
459
+ CharPtr("4"), CharPtr("5"), CharPtr("6"),
460
+ CharPtr("7"), CharPtr("8"), CharPtr("9"),
461
+ CharPtr("0"))));
462
+ }
463
+
464
+ // Tests using Invoke(f) as an action of a compatible type.
465
+ TEST(InvokeMethodTest, MethodWithCompatibleType) {
466
+ Foo foo;
467
+ Action<long(int, short, char, bool)> a = // NOLINT
468
+ Invoke(&foo, &Foo::SumOf4);
469
+ EXPECT_EQ(4444, a.Perform(std::make_tuple(4000, Short(300), Char(20), true)));
470
+ }
471
+
472
+ // Tests using WithoutArgs with an action that takes no argument.
473
+ TEST(WithoutArgsTest, NoArg) {
474
+ Action<int(int n)> a = WithoutArgs(Invoke(Nullary)); // NOLINT
475
+ EXPECT_EQ(1, a.Perform(std::make_tuple(2)));
476
+ }
477
+
478
+ // Tests using WithArg with an action that takes 1 argument.
479
+ TEST(WithArgTest, OneArg) {
480
+ Action<bool(double x, int n)> b = WithArg<1>(Invoke(Unary)); // NOLINT
481
+ EXPECT_TRUE(b.Perform(std::make_tuple(1.5, -1)));
482
+ EXPECT_FALSE(b.Perform(std::make_tuple(1.5, 1)));
483
+ }
484
+
485
+ TEST(ReturnArgActionTest, WorksForOneArgIntArg0) {
486
+ const Action<int(int)> a = ReturnArg<0>();
487
+ EXPECT_EQ(5, a.Perform(std::make_tuple(5)));
488
+ }
489
+
490
+ TEST(ReturnArgActionTest, WorksForMultiArgBoolArg0) {
491
+ const Action<bool(bool, bool, bool)> a = ReturnArg<0>();
492
+ EXPECT_TRUE(a.Perform(std::make_tuple(true, false, false)));
493
+ }
494
+
495
+ TEST(ReturnArgActionTest, WorksForMultiArgStringArg2) {
496
+ const Action<std::string(int, int, std::string, int)> a = ReturnArg<2>();
497
+ EXPECT_EQ("seven", a.Perform(std::make_tuple(5, 6, std::string("seven"), 8)));
498
+ }
499
+
500
+ TEST(SaveArgActionTest, WorksForSameType) {
501
+ int result = 0;
502
+ const Action<void(int n)> a1 = SaveArg<0>(&result);
503
+ a1.Perform(std::make_tuple(5));
504
+ EXPECT_EQ(5, result);
505
+ }
506
+
507
+ TEST(SaveArgActionTest, WorksForCompatibleType) {
508
+ int result = 0;
509
+ const Action<void(bool, char)> a1 = SaveArg<1>(&result);
510
+ a1.Perform(std::make_tuple(true, 'a'));
511
+ EXPECT_EQ('a', result);
512
+ }
513
+
514
+ TEST(SaveArgPointeeActionTest, WorksForSameType) {
515
+ int result = 0;
516
+ const int value = 5;
517
+ const Action<void(const int*)> a1 = SaveArgPointee<0>(&result);
518
+ a1.Perform(std::make_tuple(&value));
519
+ EXPECT_EQ(5, result);
520
+ }
521
+
522
+ TEST(SaveArgPointeeActionTest, WorksForCompatibleType) {
523
+ int result = 0;
524
+ char value = 'a';
525
+ const Action<void(bool, char*)> a1 = SaveArgPointee<1>(&result);
526
+ a1.Perform(std::make_tuple(true, &value));
527
+ EXPECT_EQ('a', result);
528
+ }
529
+
530
+ TEST(SetArgRefereeActionTest, WorksForSameType) {
531
+ int value = 0;
532
+ const Action<void(int&)> a1 = SetArgReferee<0>(1);
533
+ a1.Perform(std::tuple<int&>(value));
534
+ EXPECT_EQ(1, value);
535
+ }
536
+
537
+ TEST(SetArgRefereeActionTest, WorksForCompatibleType) {
538
+ int value = 0;
539
+ const Action<void(int, int&)> a1 = SetArgReferee<1>('a');
540
+ a1.Perform(std::tuple<int, int&>(0, value));
541
+ EXPECT_EQ('a', value);
542
+ }
543
+
544
+ TEST(SetArgRefereeActionTest, WorksWithExtraArguments) {
545
+ int value = 0;
546
+ const Action<void(bool, int, int&, const char*)> a1 = SetArgReferee<2>('a');
547
+ a1.Perform(std::tuple<bool, int, int&, const char*>(true, 0, value, "hi"));
548
+ EXPECT_EQ('a', value);
549
+ }
550
+
551
+ // A class that can be used to verify that its destructor is called: it will set
552
+ // the bool provided to the constructor to true when destroyed.
553
+ class DeletionTester {
554
+ public:
555
+ explicit DeletionTester(bool* is_deleted)
556
+ : is_deleted_(is_deleted) {
557
+ // Make sure the bit is set to false.
558
+ *is_deleted_ = false;
559
+ }
560
+
561
+ ~DeletionTester() {
562
+ *is_deleted_ = true;
563
+ }
564
+
565
+ private:
566
+ bool* is_deleted_;
567
+ };
568
+
569
+ TEST(DeleteArgActionTest, OneArg) {
570
+ bool is_deleted = false;
571
+ DeletionTester* t = new DeletionTester(&is_deleted);
572
+ const Action<void(DeletionTester*)> a1 = DeleteArg<0>(); // NOLINT
573
+ EXPECT_FALSE(is_deleted);
574
+ a1.Perform(std::make_tuple(t));
575
+ EXPECT_TRUE(is_deleted);
576
+ }
577
+
578
+ TEST(DeleteArgActionTest, TenArgs) {
579
+ bool is_deleted = false;
580
+ DeletionTester* t = new DeletionTester(&is_deleted);
581
+ const Action<void(bool, int, int, const char*, bool,
582
+ int, int, int, int, DeletionTester*)> a1 = DeleteArg<9>();
583
+ EXPECT_FALSE(is_deleted);
584
+ a1.Perform(std::make_tuple(true, 5, 6, CharPtr("hi"), false, 7, 8, 9, 10, t));
585
+ EXPECT_TRUE(is_deleted);
586
+ }
587
+
588
+ #if GTEST_HAS_EXCEPTIONS
589
+
590
+ TEST(ThrowActionTest, ThrowsGivenExceptionInVoidFunction) {
591
+ const Action<void(int n)> a = Throw('a');
592
+ EXPECT_THROW(a.Perform(std::make_tuple(0)), char);
593
+ }
594
+
595
+ class MyException {};
596
+
597
+ TEST(ThrowActionTest, ThrowsGivenExceptionInNonVoidFunction) {
598
+ const Action<double(char ch)> a = Throw(MyException());
599
+ EXPECT_THROW(a.Perform(std::make_tuple('0')), MyException);
600
+ }
601
+
602
+ TEST(ThrowActionTest, ThrowsGivenExceptionInNullaryFunction) {
603
+ const Action<double()> a = Throw(MyException());
604
+ EXPECT_THROW(a.Perform(std::make_tuple()), MyException);
605
+ }
606
+
607
+ #endif // GTEST_HAS_EXCEPTIONS
608
+
609
+ // Tests that SetArrayArgument<N>(first, last) sets the elements of the array
610
+ // pointed to by the N-th (0-based) argument to values in range [first, last).
611
+ TEST(SetArrayArgumentTest, SetsTheNthArray) {
612
+ typedef void MyFunction(bool, int*, char*);
613
+ int numbers[] = { 1, 2, 3 };
614
+ Action<MyFunction> a = SetArrayArgument<1>(numbers, numbers + 3);
615
+
616
+ int n[4] = {};
617
+ int* pn = n;
618
+ char ch[4] = {};
619
+ char* pch = ch;
620
+ a.Perform(std::make_tuple(true, pn, pch));
621
+ EXPECT_EQ(1, n[0]);
622
+ EXPECT_EQ(2, n[1]);
623
+ EXPECT_EQ(3, n[2]);
624
+ EXPECT_EQ(0, n[3]);
625
+ EXPECT_EQ('\0', ch[0]);
626
+ EXPECT_EQ('\0', ch[1]);
627
+ EXPECT_EQ('\0', ch[2]);
628
+ EXPECT_EQ('\0', ch[3]);
629
+
630
+ // Tests first and last are iterators.
631
+ std::string letters = "abc";
632
+ a = SetArrayArgument<2>(letters.begin(), letters.end());
633
+ std::fill_n(n, 4, 0);
634
+ std::fill_n(ch, 4, '\0');
635
+ a.Perform(std::make_tuple(true, pn, pch));
636
+ EXPECT_EQ(0, n[0]);
637
+ EXPECT_EQ(0, n[1]);
638
+ EXPECT_EQ(0, n[2]);
639
+ EXPECT_EQ(0, n[3]);
640
+ EXPECT_EQ('a', ch[0]);
641
+ EXPECT_EQ('b', ch[1]);
642
+ EXPECT_EQ('c', ch[2]);
643
+ EXPECT_EQ('\0', ch[3]);
644
+ }
645
+
646
+ // Tests SetArrayArgument<N>(first, last) where first == last.
647
+ TEST(SetArrayArgumentTest, SetsTheNthArrayWithEmptyRange) {
648
+ typedef void MyFunction(bool, int*);
649
+ int numbers[] = { 1, 2, 3 };
650
+ Action<MyFunction> a = SetArrayArgument<1>(numbers, numbers);
651
+
652
+ int n[4] = {};
653
+ int* pn = n;
654
+ a.Perform(std::make_tuple(true, pn));
655
+ EXPECT_EQ(0, n[0]);
656
+ EXPECT_EQ(0, n[1]);
657
+ EXPECT_EQ(0, n[2]);
658
+ EXPECT_EQ(0, n[3]);
659
+ }
660
+
661
+ // Tests SetArrayArgument<N>(first, last) where *first is convertible
662
+ // (but not equal) to the argument type.
663
+ TEST(SetArrayArgumentTest, SetsTheNthArrayWithConvertibleType) {
664
+ typedef void MyFunction(bool, int*);
665
+ char chars[] = { 97, 98, 99 };
666
+ Action<MyFunction> a = SetArrayArgument<1>(chars, chars + 3);
667
+
668
+ int codes[4] = { 111, 222, 333, 444 };
669
+ int* pcodes = codes;
670
+ a.Perform(std::make_tuple(true, pcodes));
671
+ EXPECT_EQ(97, codes[0]);
672
+ EXPECT_EQ(98, codes[1]);
673
+ EXPECT_EQ(99, codes[2]);
674
+ EXPECT_EQ(444, codes[3]);
675
+ }
676
+
677
+ // Test SetArrayArgument<N>(first, last) with iterator as argument.
678
+ TEST(SetArrayArgumentTest, SetsTheNthArrayWithIteratorArgument) {
679
+ typedef void MyFunction(bool, std::back_insert_iterator<std::string>);
680
+ std::string letters = "abc";
681
+ Action<MyFunction> a = SetArrayArgument<1>(letters.begin(), letters.end());
682
+
683
+ std::string s;
684
+ a.Perform(std::make_tuple(true, back_inserter(s)));
685
+ EXPECT_EQ(letters, s);
686
+ }
687
+
688
+ TEST(ReturnPointeeTest, Works) {
689
+ int n = 42;
690
+ const Action<int()> a = ReturnPointee(&n);
691
+ EXPECT_EQ(42, a.Perform(std::make_tuple()));
692
+
693
+ n = 43;
694
+ EXPECT_EQ(43, a.Perform(std::make_tuple()));
695
+ }
696
+
697
+ } // namespace gmock_generated_actions_test
698
+ } // namespace testing