rj_schema 0.2.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rj_schema/rapidjson/CMakeLists.txt +9 -4
- data/ext/rj_schema/rapidjson/RapidJSONConfig.cmake.in +10 -0
- data/ext/rj_schema/rapidjson/appveyor.yml +22 -9
- data/ext/rj_schema/rapidjson/bin/data/abcde.txt +1 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/address.json +139 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/allOf_address.json +7 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/anyOf_address.json +7 -0
- data/ext/rj_schema/rapidjson/bin/unittestschema/oneOf_address.json +7 -0
- data/ext/rj_schema/rapidjson/contrib/natvis/rapidjson.natvis +2 -2
- data/ext/rj_schema/rapidjson/doc/dom.md +1 -0
- data/ext/rj_schema/rapidjson/doc/dom.zh-cn.md +1 -0
- data/ext/rj_schema/rapidjson/doc/faq.md +3 -3
- data/ext/rj_schema/rapidjson/doc/faq.zh-cn.md +8 -8
- data/ext/rj_schema/rapidjson/doc/internals.md +1 -1
- data/ext/rj_schema/rapidjson/doc/internals.zh-cn.md +2 -2
- data/ext/rj_schema/rapidjson/doc/pointer.zh-cn.md +1 -1
- data/ext/rj_schema/rapidjson/doc/sax.md +1 -1
- data/ext/rj_schema/rapidjson/doc/sax.zh-cn.md +2 -2
- data/ext/rj_schema/rapidjson/doc/stream.md +1 -1
- data/ext/rj_schema/rapidjson/doc/tutorial.md +1 -1
- data/ext/rj_schema/rapidjson/doc/tutorial.zh-cn.md +7 -6
- data/ext/rj_schema/rapidjson/example/CMakeLists.txt +1 -0
- data/ext/rj_schema/rapidjson/example/schemavalidator/schemavalidator.cpp +118 -0
- data/ext/rj_schema/rapidjson/example/sortkeys/sortkeys.cpp +62 -0
- data/ext/rj_schema/rapidjson/example/tutorial/tutorial.cpp +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/allocators.h +6 -6
- data/ext/rj_schema/rapidjson/include/rapidjson/cursorstreamwrapper.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/document.h +124 -35
- data/ext/rj_schema/rapidjson/include/rapidjson/encodedstream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/encodings.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/error/en.h +49 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/error/error.h +56 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/filereadstream.h +2 -2
- data/ext/rj_schema/rapidjson/include/rapidjson/filewritestream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/fwd.h +2 -2
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/biginteger.h +2 -2
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/clzll.h +71 -0
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/diyfp.h +3 -17
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/dtoa.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/ieee754.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/itoa.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/meta.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/pow10.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/regex.h +20 -13
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/stack.h +4 -3
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strfunc.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/strtod.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/internal/swap.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/istreamwrapper.h +50 -35
- data/ext/rj_schema/rapidjson/include/rapidjson/memorybuffer.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/memorystream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/ostreamwrapper.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/pointer.h +63 -5
- data/ext/rj_schema/rapidjson/include/rapidjson/prettywriter.h +2 -2
- data/ext/rj_schema/rapidjson/include/rapidjson/rapidjson.h +63 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/reader.h +67 -53
- data/ext/rj_schema/rapidjson/include/rapidjson/schema.h +318 -164
- data/ext/rj_schema/rapidjson/include/rapidjson/stream.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/stringbuffer.h +1 -1
- data/ext/rj_schema/rapidjson/include/rapidjson/writer.h +10 -10
- data/ext/rj_schema/rapidjson/readme.md +51 -1
- data/ext/rj_schema/rapidjson/readme.zh-cn.md +2 -2
- data/ext/rj_schema/rapidjson/test/perftest/misctest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/perftest/perftest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/perftest/perftest.h +1 -1
- data/ext/rj_schema/rapidjson/test/perftest/platformtest.cpp +2 -2
- data/ext/rj_schema/rapidjson/test/perftest/rapidjsontest.cpp +75 -1
- data/ext/rj_schema/rapidjson/test/unittest/CMakeLists.txt +1 -0
- data/ext/rj_schema/rapidjson/test/unittest/allocatorstest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/bigintegertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/clzlltest.cpp +34 -0
- data/ext/rj_schema/rapidjson/test/unittest/cursorstreamwrappertest.cpp +19 -19
- data/ext/rj_schema/rapidjson/test/unittest/documenttest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/dtoatest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/encodedstreamtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/encodingstest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/filestreamtest.cpp +45 -2
- data/ext/rj_schema/rapidjson/test/unittest/fwdtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/istreamwrappertest.cpp +10 -10
- data/ext/rj_schema/rapidjson/test/unittest/itoatest.cpp +8 -8
- data/ext/rj_schema/rapidjson/test/unittest/jsoncheckertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/namespacetest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/ostreamwrappertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/pointertest.cpp +157 -16
- data/ext/rj_schema/rapidjson/test/unittest/prettywritertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/readertest.cpp +113 -75
- data/ext/rj_schema/rapidjson/test/unittest/regextest.cpp +2 -1
- data/ext/rj_schema/rapidjson/test/unittest/schematest.cpp +593 -78
- data/ext/rj_schema/rapidjson/test/unittest/simdtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/strfunctest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/stringbuffertest.cpp +5 -5
- data/ext/rj_schema/rapidjson/test/unittest/strtodtest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/unittest.cpp +1 -1
- data/ext/rj_schema/rapidjson/test/unittest/unittest.h +4 -1
- data/ext/rj_schema/rapidjson/test/unittest/valuetest.cpp +12 -12
- data/ext/rj_schema/rapidjson/test/unittest/writertest.cpp +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/BUILD.bazel +175 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/CMakeLists.txt +18 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/CONTRIBUTING.md +160 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/LICENSE +28 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/Makefile.am +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/README.md +16 -35
- data/ext/rj_schema/rapidjson/thirdparty/gtest/WORKSPACE +8 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/appveyor.yml +104 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/build-linux-autotools.sh +44 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/build-linux-bazel.sh +36 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/env-linux.sh +41 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/env-osx.sh +40 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/get-nprocessors.sh +48 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/install-linux.sh +49 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/install-osx.sh +39 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/log-config.sh +51 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/ci/travis.sh +44 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/configure.ac +16 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CHANGES +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/CMakeLists.txt +72 -32
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/README.md +53 -42
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/cmake/gmock.pc.in +9 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/cmake/gmock_main.pc.in +9 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/configure.ac +4 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CheatSheet.md +6 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/CookBook.md +117 -132
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/Documentation.md +7 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/ForDummies.md +20 -12
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/FrequentlyAskedQuestions.md +1 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-actions.h +83 -26
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h +262 -68
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-actions.h.pump +45 -6
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h +650 -366
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-function-mockers.h.pump +76 -20
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h +308 -229
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-matchers.h.pump +18 -15
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h +87 -26
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-generated-nice-strict.h.pump +33 -16
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-matchers.h +1209 -353
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h +33 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h +159 -88
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock.h +2 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h +3 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h +16 -9
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h +71 -8
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h +7 -11
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.sln +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock.vcxproj +69 -6
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_config.props +2 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_main.vcxproj +69 -6
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2010/gmock_test.vcxproj +83 -8
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.sln +14 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock.vcxproj +63 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_main.vcxproj +63 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/msvc/2015/gmock_test.vcxproj +76 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/fuse_gmock_files.py +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/README +4 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/scripts/generator/cpp/ast.py +3 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-cardinalities.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-internal-utils.cc +36 -6
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-matchers.cc +210 -135
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock-spec-builders.cc +108 -48
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/src/gmock.cc +23 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/BUILD.bazel +123 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-actions_test.cc +166 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-cardinalities_test.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-actions_test.cc +64 -62
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-function-mockers_test.cc +43 -18
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-internal-utils_test.cc +11 -9
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-generated-matchers_test.cc +91 -36
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-internal-utils_test.cc +33 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-matchers_test.cc +1286 -167
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-more-actions_test.cc +85 -83
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-nice-strict_test.cc +102 -15
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock-spec-builders_test.cc +136 -9
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link2_test.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_link_test.h +24 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test.py +8 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_.cc +20 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_output_test_golden.txt +8 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_stress_test.cc +3 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test.cc +44 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/test/gmock_test_utils.py +5 -7
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt +40 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/Makefile.am +60 -31
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/README.md +232 -171
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/cmake/gtest.pc.in +9 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/cmake/gtest_main.pc.in +10 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/cmake/internal_utils.cmake +54 -16
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/configure.ac +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Pkgconfig.md +146 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/PumpManual.md +2 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/XcodeGuide.md +6 -6
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/{AdvancedGuide.md → advanced.md} +260 -26
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/{FAQ.md → faq.md} +62 -57
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/{Primer.md → primer.md} +43 -9
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/{Samples.md → samples.md} +0 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-death-test.h +53 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-message.h +1 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h +30 -36
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-param-test.h.pump +8 -17
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-printers.h +140 -51
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-spi.h +2 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h +4 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest.h +126 -30
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h +6 -7
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/gtest_prod.h +8 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h +6 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h +4 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h +13 -57
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h +1 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h +98 -59
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h +34 -41
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +3 -10
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h +9 -17
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h +8 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h +232 -99
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h +3 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h +17 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h.pump +17 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest-md.sln +55 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest-md.vcxproj +149 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest-md.vcxproj.filters +18 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest.sln +55 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest.vcxproj +149 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest.vcxproj.filters +18 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main-md.vcxproj +154 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main-md.vcxproj.filters +18 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main.vcxproj +162 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_main.vcxproj.filters +18 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test-md.vcxproj +199 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test-md.vcxproj.filters +26 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test.vcxproj +191 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_prod_test.vcxproj.filters +26 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest-md.vcxproj +188 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest-md.vcxproj.filters +18 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest.vcxproj +180 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/2010/gtest_unittest.vcxproj.filters +18 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/prime_tables.h +6 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample10_unittest.cc +0 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample1_unittest.cc +2 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample2_unittest.cc +2 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample3_unittest.cc +7 -6
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample4_unittest.cc +5 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample5_unittest.cc +3 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample6_unittest.cc +2 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample7_unittest.cc +10 -22
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample8_unittest.cc +2 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/samples/sample9_unittest.cc +0 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/fuse_gtest_files.py +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/gen_gtest_pred_impl.py +10 -10
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/scripts/upload.py +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-all.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-death-test.cc +226 -32
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-filepath.cc +5 -7
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-internal-inl.h +21 -29
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-port.cc +85 -67
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-printers.cc +93 -8
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-test-part.cc +1 -9
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest-typed-test.cc +1 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest.cc +622 -164
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/src/gtest_main.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/BUILD.bazel +396 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-death-test_test.cc +12 -15
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-filepath_test.cc +2 -12
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-listener_test.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-options_test.cc +6 -8
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test2_test.cc +1 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.cc +84 -29
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-param-test_test.h +1 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-port_test.cc +11 -12
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-printers_test.cc +165 -63
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test2_test.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-typed-test_test.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest-unittest-api_test.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_all_test.cc +13 -13
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_assert_by_exception_test.cc +119 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest.py +1 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_break_on_failure_unittest_.cc +1 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test.py +0 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_catch_exceptions_test_.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test.py +1 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_color_test_.cc +0 -8
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test.py +6 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_env_var_test_.cc +0 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_environment_test.cc +0 -3
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest.py +20 -18
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_filter_unittest_.cc +0 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_help_test.py +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_json_outfiles_test.py +162 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_json_output_unittest.py +611 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_json_test_utils.py +60 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_list_tests_unittest.py +4 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_main_unittest.cc +2 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test.py +11 -7
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_.cc +17 -12
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_output_test_golden_lin.txt +104 -66
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_pred_impl_unittest.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_prod_test.cc +2 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_repeat_test.cc +2 -19
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_stress_test.cc +0 -6
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_test_utils.py +12 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_testbridge_test.py +65 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_testbridge_test_.cc +44 -0
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_throw_on_failure_test.py +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test.py +4 -5
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_uninitialized_test_.cc +2 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_unittest.cc +240 -149
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile1_test_.cc +0 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfile2_test_.cc +0 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_outfiles_test.py +15 -7
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest.py +100 -30
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_output_unittest_.cc +0 -2
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/gtest_xml_test_utils.py +25 -23
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.cc +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/test/production.h +1 -1
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/Scripts/versiongenerate.py +4 -4
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/xcode/gtest.xcodeproj/project.pbxproj +47 -0
- data/ext/rj_schema/rapidjson/travis-doxygen.sh +13 -6
- data/ext/rj_schema/rj_schema.cpp +161 -17
- data/lib/rj_schema.rb +1 -1
- metadata +63 -58
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/DevGuide.md +0 -132
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CheatSheet.md +0 -525
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/CookBook.md +0 -3250
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/Documentation.md +0 -11
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/ForDummies.md +0 -439
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_5/FrequentlyAskedQuestions.md +0 -624
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CheatSheet.md +0 -534
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/CookBook.md +0 -3342
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/Documentation.md +0 -12
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/ForDummies.md +0 -439
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_6/FrequentlyAskedQuestions.md +0 -628
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CheatSheet.md +0 -556
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/CookBook.md +0 -3432
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/Documentation.md +0 -12
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/ForDummies.md +0 -439
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/docs/v1_7/FrequentlyAskedQuestions.md +0 -628
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/DevGuide.md +0 -126
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/Documentation.md +0 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_AdvancedGuide.md +0 -2096
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Documentation.md +0 -12
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_FAQ.md +0 -886
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_Primer.md +0 -497
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_PumpManual.md +0 -177
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_5_XcodeGuide.md +0 -93
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_AdvancedGuide.md +0 -2178
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Documentation.md +0 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_FAQ.md +0 -1038
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Primer.md +0 -501
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_PumpManual.md +0 -177
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_Samples.md +0 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_6_XcodeGuide.md +0 -93
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_AdvancedGuide.md +0 -2181
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Documentation.md +0 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_FAQ.md +0 -1082
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Primer.md +0 -501
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_PumpManual.md +0 -177
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_Samples.md +0 -14
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/docs/V1_7_XcodeGuide.md +0 -93
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.sln +0 -45
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest-md.vcproj +0 -126
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.sln +0 -45
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest.vcproj +0 -126
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main-md.vcproj +0 -129
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_main.vcproj +0 -129
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test-md.vcproj +0 -164
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_prod_test.vcproj +0 -164
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest-md.vcproj +0 -147
- data/ext/rj_schema/rapidjson/thirdparty/gtest/googletest/msvc/gtest_unittest.vcproj +0 -147
- data/ext/rj_schema/rapidjson/thirdparty/gtest/travis.sh +0 -15
data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h
CHANGED
@@ -43,6 +43,18 @@
|
|
43
43
|
|
44
44
|
namespace testing {
|
45
45
|
|
46
|
+
// Silence C4100 (unreferenced formal
|
47
|
+
// parameter) for MSVC
|
48
|
+
#ifdef _MSC_VER
|
49
|
+
# pragma warning(push)
|
50
|
+
# pragma warning(disable:4100)
|
51
|
+
#if (_MSC_VER == 1900)
|
52
|
+
// and silence C4800 (C4800: 'int *const ': forcing value
|
53
|
+
// to bool 'true' or 'false') for MSVC 14
|
54
|
+
# pragma warning(disable:4800)
|
55
|
+
#endif
|
56
|
+
#endif
|
57
|
+
|
46
58
|
// Defines a matcher that matches an empty container. The container must
|
47
59
|
// support both size() and empty(), which all STL-like containers provide.
|
48
60
|
MATCHER(IsEmpty, negation ? "isn't empty" : "is empty") {
|
@@ -53,6 +65,27 @@ MATCHER(IsEmpty, negation ? "isn't empty" : "is empty") {
|
|
53
65
|
return false;
|
54
66
|
}
|
55
67
|
|
68
|
+
// Define a matcher that matches a value that evaluates in boolean
|
69
|
+
// context to true. Useful for types that define "explicit operator
|
70
|
+
// bool" operators and so can't be compared for equality with true
|
71
|
+
// and false.
|
72
|
+
MATCHER(IsTrue, negation ? "is false" : "is true") {
|
73
|
+
return static_cast<bool>(arg);
|
74
|
+
}
|
75
|
+
|
76
|
+
// Define a matcher that matches a value that evaluates in boolean
|
77
|
+
// context to false. Useful for types that define "explicit operator
|
78
|
+
// bool" operators and so can't be compared for equality with true
|
79
|
+
// and false.
|
80
|
+
MATCHER(IsFalse, negation ? "is true" : "is false") {
|
81
|
+
return !static_cast<bool>(arg);
|
82
|
+
}
|
83
|
+
|
84
|
+
#ifdef _MSC_VER
|
85
|
+
# pragma warning(pop)
|
86
|
+
#endif
|
87
|
+
|
88
|
+
|
56
89
|
} // namespace testing
|
57
90
|
|
58
91
|
#endif // GMOCK_GMOCK_MORE_MATCHERS_H_
|
data/ext/rj_schema/rapidjson/thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h
CHANGED
@@ -65,11 +65,6 @@
|
|
65
65
|
#include <sstream>
|
66
66
|
#include <string>
|
67
67
|
#include <vector>
|
68
|
-
|
69
|
-
#if GTEST_HAS_EXCEPTIONS
|
70
|
-
# include <stdexcept> // NOLINT
|
71
|
-
#endif
|
72
|
-
|
73
68
|
#include "gmock/gmock-actions.h"
|
74
69
|
#include "gmock/gmock-cardinalities.h"
|
75
70
|
#include "gmock/gmock-matchers.h"
|
@@ -77,6 +72,10 @@
|
|
77
72
|
#include "gmock/internal/gmock-port.h"
|
78
73
|
#include "gtest/gtest.h"
|
79
74
|
|
75
|
+
#if GTEST_HAS_EXCEPTIONS
|
76
|
+
# include <stdexcept> // NOLINT
|
77
|
+
#endif
|
78
|
+
|
80
79
|
namespace testing {
|
81
80
|
|
82
81
|
// An abstract handle of an expectation.
|
@@ -148,15 +147,13 @@ class GTEST_API_ UntypedFunctionMockerBase {
|
|
148
147
|
// action fails.
|
149
148
|
// L = *
|
150
149
|
virtual UntypedActionResultHolderBase* UntypedPerformDefaultAction(
|
151
|
-
|
152
|
-
const string& call_description) const = 0;
|
150
|
+
void* untyped_args, const std::string& call_description) const = 0;
|
153
151
|
|
154
152
|
// Performs the given action with the given arguments and returns
|
155
153
|
// the action's result.
|
156
154
|
// L = *
|
157
155
|
virtual UntypedActionResultHolderBase* UntypedPerformAction(
|
158
|
-
const void* untyped_action,
|
159
|
-
const void* untyped_args) const = 0;
|
156
|
+
const void* untyped_action, void* untyped_args) const = 0;
|
160
157
|
|
161
158
|
// Writes a message that the call is uninteresting (i.e. neither
|
162
159
|
// explicitly expected nor explicitly unexpected) to the given
|
@@ -211,9 +208,8 @@ class GTEST_API_ UntypedFunctionMockerBase {
|
|
211
208
|
// arguments. This function can be safely called from multiple
|
212
209
|
// threads concurrently. The caller is responsible for deleting the
|
213
210
|
// result.
|
214
|
-
UntypedActionResultHolderBase* UntypedInvokeWith(
|
215
|
-
|
216
|
-
GTEST_LOCK_EXCLUDED_(g_gmock_mutex);
|
211
|
+
UntypedActionResultHolderBase* UntypedInvokeWith(void* untyped_args)
|
212
|
+
GTEST_LOCK_EXCLUDED_(g_gmock_mutex);
|
217
213
|
|
218
214
|
protected:
|
219
215
|
typedef std::vector<const void*> UntypedOnCallSpecs;
|
@@ -238,6 +234,14 @@ class GTEST_API_ UntypedFunctionMockerBase {
|
|
238
234
|
UntypedOnCallSpecs untyped_on_call_specs_;
|
239
235
|
|
240
236
|
// All expectations for this function mocker.
|
237
|
+
//
|
238
|
+
// It's undefined behavior to interleave expectations (EXPECT_CALLs
|
239
|
+
// or ON_CALLs) and mock function calls. Also, the order of
|
240
|
+
// expectations is important. Therefore it's a logic race condition
|
241
|
+
// to read/write untyped_expectations_ concurrently. In order for
|
242
|
+
// tools like tsan to catch concurrent read/write accesses to
|
243
|
+
// untyped_expectations, we deliberately leave accesses to it
|
244
|
+
// unprotected.
|
241
245
|
UntypedExpectations untyped_expectations_;
|
242
246
|
}; // class UntypedFunctionMockerBase
|
243
247
|
|
@@ -263,12 +267,14 @@ class UntypedOnCallSpecBase {
|
|
263
267
|
};
|
264
268
|
|
265
269
|
// Asserts that the ON_CALL() statement has a certain property.
|
266
|
-
void AssertSpecProperty(bool property,
|
270
|
+
void AssertSpecProperty(bool property,
|
271
|
+
const std::string& failure_message) const {
|
267
272
|
Assert(property, file_, line_, failure_message);
|
268
273
|
}
|
269
274
|
|
270
275
|
// Expects that the ON_CALL() statement has a certain property.
|
271
|
-
void ExpectSpecProperty(bool property,
|
276
|
+
void ExpectSpecProperty(bool property,
|
277
|
+
const std::string& failure_message) const {
|
272
278
|
Expect(property, file_, line_, failure_message);
|
273
279
|
}
|
274
280
|
|
@@ -362,7 +368,6 @@ enum CallReaction {
|
|
362
368
|
kAllow,
|
363
369
|
kWarn,
|
364
370
|
kFail,
|
365
|
-
kDefault = kWarn // By default, warn about uninteresting calls.
|
366
371
|
};
|
367
372
|
|
368
373
|
} // namespace internal
|
@@ -690,7 +695,7 @@ GTEST_API_ extern ThreadLocal<Sequence*> g_gmock_implicit_sequence;
|
|
690
695
|
class GTEST_API_ ExpectationBase {
|
691
696
|
public:
|
692
697
|
// source_text is the EXPECT_CALL(...) source that created this Expectation.
|
693
|
-
ExpectationBase(const char* file, int line, const string& source_text);
|
698
|
+
ExpectationBase(const char* file, int line, const std::string& source_text);
|
694
699
|
|
695
700
|
virtual ~ExpectationBase();
|
696
701
|
|
@@ -738,12 +743,14 @@ class GTEST_API_ ExpectationBase {
|
|
738
743
|
virtual Expectation GetHandle() = 0;
|
739
744
|
|
740
745
|
// Asserts that the EXPECT_CALL() statement has the given property.
|
741
|
-
void AssertSpecProperty(bool property,
|
746
|
+
void AssertSpecProperty(bool property,
|
747
|
+
const std::string& failure_message) const {
|
742
748
|
Assert(property, file_, line_, failure_message);
|
743
749
|
}
|
744
750
|
|
745
751
|
// Expects that the EXPECT_CALL() statement has the given property.
|
746
|
-
void ExpectSpecProperty(bool property,
|
752
|
+
void ExpectSpecProperty(bool property,
|
753
|
+
const std::string& failure_message) const {
|
747
754
|
Expect(property, file_, line_, failure_message);
|
748
755
|
}
|
749
756
|
|
@@ -845,7 +852,7 @@ class GTEST_API_ ExpectationBase {
|
|
845
852
|
// an EXPECT_CALL() statement finishes.
|
846
853
|
const char* file_; // The file that contains the expectation.
|
847
854
|
int line_; // The line number of the expectation.
|
848
|
-
const string source_text_; // The EXPECT_CALL(...) source text.
|
855
|
+
const std::string source_text_; // The EXPECT_CALL(...) source text.
|
849
856
|
// True iff the cardinality is specified explicitly.
|
850
857
|
bool cardinality_specified_;
|
851
858
|
Cardinality cardinality_; // The cardinality of the expectation.
|
@@ -880,8 +887,8 @@ class TypedExpectation : public ExpectationBase {
|
|
880
887
|
typedef typename Function<F>::ArgumentMatcherTuple ArgumentMatcherTuple;
|
881
888
|
typedef typename Function<F>::Result Result;
|
882
889
|
|
883
|
-
TypedExpectation(FunctionMockerBase<F>* owner,
|
884
|
-
const
|
890
|
+
TypedExpectation(FunctionMockerBase<F>* owner, const char* a_file, int a_line,
|
891
|
+
const std::string& a_source_text,
|
885
892
|
const ArgumentMatcherTuple& m)
|
886
893
|
: ExpectationBase(a_file, a_line, a_source_text),
|
887
894
|
owner_(owner),
|
@@ -1240,7 +1247,7 @@ class TypedExpectation : public ExpectationBase {
|
|
1240
1247
|
// Logs a message including file and line number information.
|
1241
1248
|
GTEST_API_ void LogWithLocation(testing::internal::LogSeverity severity,
|
1242
1249
|
const char* file, int line,
|
1243
|
-
const string& message);
|
1250
|
+
const std::string& message);
|
1244
1251
|
|
1245
1252
|
template <typename F>
|
1246
1253
|
class MockSpec {
|
@@ -1251,15 +1258,16 @@ class MockSpec {
|
|
1251
1258
|
|
1252
1259
|
// Constructs a MockSpec object, given the function mocker object
|
1253
1260
|
// that the spec is associated with.
|
1254
|
-
|
1255
|
-
|
1261
|
+
MockSpec(internal::FunctionMockerBase<F>* function_mocker,
|
1262
|
+
const ArgumentMatcherTuple& matchers)
|
1263
|
+
: function_mocker_(function_mocker), matchers_(matchers) {}
|
1256
1264
|
|
1257
1265
|
// Adds a new default action spec to the function mocker and returns
|
1258
1266
|
// the newly created spec.
|
1259
1267
|
internal::OnCallSpec<F>& InternalDefaultActionSetAt(
|
1260
1268
|
const char* file, int line, const char* obj, const char* call) {
|
1261
1269
|
LogWithLocation(internal::kInfo, file, line,
|
1262
|
-
|
1270
|
+
std::string("ON_CALL(") + obj + ", " + call + ") invoked");
|
1263
1271
|
return function_mocker_->AddNewOnCallSpec(file, line, matchers_);
|
1264
1272
|
}
|
1265
1273
|
|
@@ -1267,20 +1275,24 @@ class MockSpec {
|
|
1267
1275
|
// the newly created spec.
|
1268
1276
|
internal::TypedExpectation<F>& InternalExpectedAt(
|
1269
1277
|
const char* file, int line, const char* obj, const char* call) {
|
1270
|
-
const string source_text(string("EXPECT_CALL(") + obj + ", " +
|
1278
|
+
const std::string source_text(std::string("EXPECT_CALL(") + obj + ", " +
|
1279
|
+
call + ")");
|
1271
1280
|
LogWithLocation(internal::kInfo, file, line, source_text + " invoked");
|
1272
1281
|
return function_mocker_->AddNewExpectation(
|
1273
1282
|
file, line, source_text, matchers_);
|
1274
1283
|
}
|
1275
1284
|
|
1285
|
+
// This operator overload is used to swallow the superfluous parameter list
|
1286
|
+
// introduced by the ON/EXPECT_CALL macros. See the macro comments for more
|
1287
|
+
// explanation.
|
1288
|
+
MockSpec<F>& operator()(const internal::WithoutMatchers&, void* const) {
|
1289
|
+
return *this;
|
1290
|
+
}
|
1291
|
+
|
1276
1292
|
private:
|
1277
1293
|
template <typename Function>
|
1278
1294
|
friend class internal::FunctionMocker;
|
1279
1295
|
|
1280
|
-
void SetMatchers(const ArgumentMatcherTuple& matchers) {
|
1281
|
-
matchers_ = matchers;
|
1282
|
-
}
|
1283
|
-
|
1284
1296
|
// The function mocker that owns this spec.
|
1285
1297
|
internal::FunctionMockerBase<F>* const function_mocker_;
|
1286
1298
|
// The argument matchers specified in the spec.
|
@@ -1388,19 +1400,20 @@ class ActionResultHolder : public UntypedActionResultHolderBase {
|
|
1388
1400
|
template <typename F>
|
1389
1401
|
static ActionResultHolder* PerformDefaultAction(
|
1390
1402
|
const FunctionMockerBase<F>* func_mocker,
|
1391
|
-
|
1392
|
-
const string& call_description) {
|
1393
|
-
return new ActionResultHolder(Wrapper(
|
1394
|
-
|
1403
|
+
typename RvalueRef<typename Function<F>::ArgumentTuple>::type args,
|
1404
|
+
const std::string& call_description) {
|
1405
|
+
return new ActionResultHolder(Wrapper(func_mocker->PerformDefaultAction(
|
1406
|
+
internal::move(args), call_description)));
|
1395
1407
|
}
|
1396
1408
|
|
1397
1409
|
// Performs the given action and returns the result in a new-ed
|
1398
1410
|
// ActionResultHolder.
|
1399
1411
|
template <typename F>
|
1400
|
-
static ActionResultHolder*
|
1401
|
-
|
1402
|
-
|
1403
|
-
return new ActionResultHolder(
|
1412
|
+
static ActionResultHolder* PerformAction(
|
1413
|
+
const Action<F>& action,
|
1414
|
+
typename RvalueRef<typename Function<F>::ArgumentTuple>::type args) {
|
1415
|
+
return new ActionResultHolder(
|
1416
|
+
Wrapper(action.Perform(internal::move(args))));
|
1404
1417
|
}
|
1405
1418
|
|
1406
1419
|
private:
|
@@ -1428,9 +1441,9 @@ class ActionResultHolder<void> : public UntypedActionResultHolderBase {
|
|
1428
1441
|
template <typename F>
|
1429
1442
|
static ActionResultHolder* PerformDefaultAction(
|
1430
1443
|
const FunctionMockerBase<F>* func_mocker,
|
1431
|
-
|
1432
|
-
const string& call_description) {
|
1433
|
-
func_mocker->PerformDefaultAction(args, call_description);
|
1444
|
+
typename RvalueRef<typename Function<F>::ArgumentTuple>::type args,
|
1445
|
+
const std::string& call_description) {
|
1446
|
+
func_mocker->PerformDefaultAction(internal::move(args), call_description);
|
1434
1447
|
return new ActionResultHolder;
|
1435
1448
|
}
|
1436
1449
|
|
@@ -1439,8 +1452,8 @@ class ActionResultHolder<void> : public UntypedActionResultHolderBase {
|
|
1439
1452
|
template <typename F>
|
1440
1453
|
static ActionResultHolder* PerformAction(
|
1441
1454
|
const Action<F>& action,
|
1442
|
-
|
1443
|
-
action.Perform(args);
|
1455
|
+
typename RvalueRef<typename Function<F>::ArgumentTuple>::type args) {
|
1456
|
+
action.Perform(internal::move(args));
|
1444
1457
|
return new ActionResultHolder;
|
1445
1458
|
}
|
1446
1459
|
|
@@ -1459,7 +1472,7 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1459
1472
|
typedef typename Function<F>::ArgumentTuple ArgumentTuple;
|
1460
1473
|
typedef typename Function<F>::ArgumentMatcherTuple ArgumentMatcherTuple;
|
1461
1474
|
|
1462
|
-
FunctionMockerBase()
|
1475
|
+
FunctionMockerBase() {}
|
1463
1476
|
|
1464
1477
|
// The destructor verifies that all expectations on this mock
|
1465
1478
|
// function have been satisfied. If not, it will report Google Test
|
@@ -1495,14 +1508,16 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1495
1508
|
// mutable state of this object, and thus can be called concurrently
|
1496
1509
|
// without locking.
|
1497
1510
|
// L = *
|
1498
|
-
Result PerformDefaultAction(
|
1499
|
-
|
1511
|
+
Result PerformDefaultAction(
|
1512
|
+
typename RvalueRef<typename Function<F>::ArgumentTuple>::type args,
|
1513
|
+
const std::string& call_description) const {
|
1500
1514
|
const OnCallSpec<F>* const spec =
|
1501
1515
|
this->FindOnCallSpec(args);
|
1502
1516
|
if (spec != NULL) {
|
1503
|
-
return spec->GetAction().Perform(args);
|
1517
|
+
return spec->GetAction().Perform(internal::move(args));
|
1504
1518
|
}
|
1505
|
-
const string message =
|
1519
|
+
const std::string message =
|
1520
|
+
call_description +
|
1506
1521
|
"\n The mock function has no default action "
|
1507
1522
|
"set, and its return type has no default value set.";
|
1508
1523
|
#if GTEST_HAS_EXCEPTIONS
|
@@ -1521,11 +1536,11 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1521
1536
|
// action fails. The caller is responsible for deleting the result.
|
1522
1537
|
// L = *
|
1523
1538
|
virtual UntypedActionResultHolderBase* UntypedPerformDefaultAction(
|
1524
|
-
|
1525
|
-
const string& call_description) const {
|
1526
|
-
|
1527
|
-
|
1528
|
-
|
1539
|
+
void* untyped_args, // must point to an ArgumentTuple
|
1540
|
+
const std::string& call_description) const {
|
1541
|
+
ArgumentTuple* args = static_cast<ArgumentTuple*>(untyped_args);
|
1542
|
+
return ResultHolder::PerformDefaultAction(this, internal::move(*args),
|
1543
|
+
call_description);
|
1529
1544
|
}
|
1530
1545
|
|
1531
1546
|
// Performs the given action with the given arguments and returns
|
@@ -1533,13 +1548,12 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1533
1548
|
// result.
|
1534
1549
|
// L = *
|
1535
1550
|
virtual UntypedActionResultHolderBase* UntypedPerformAction(
|
1536
|
-
const void* untyped_action,
|
1551
|
+
const void* untyped_action, void* untyped_args) const {
|
1537
1552
|
// Make a copy of the action before performing it, in case the
|
1538
1553
|
// action deletes the mock object (and thus deletes itself).
|
1539
1554
|
const Action<F> action = *static_cast<const Action<F>*>(untyped_action);
|
1540
|
-
|
1541
|
-
|
1542
|
-
return ResultHolder::PerformAction(action, args);
|
1555
|
+
ArgumentTuple* args = static_cast<ArgumentTuple*>(untyped_args);
|
1556
|
+
return ResultHolder::PerformAction(action, internal::move(*args));
|
1543
1557
|
}
|
1544
1558
|
|
1545
1559
|
// Implements UntypedFunctionMockerBase::ClearDefaultActionsLocked():
|
@@ -1579,10 +1593,14 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1579
1593
|
// Returns the result of invoking this mock function with the given
|
1580
1594
|
// arguments. This function can be safely called from multiple
|
1581
1595
|
// threads concurrently.
|
1582
|
-
Result InvokeWith(
|
1583
|
-
|
1596
|
+
Result InvokeWith(
|
1597
|
+
typename RvalueRef<typename Function<F>::ArgumentTuple>::type args)
|
1598
|
+
GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
|
1599
|
+
// const_cast is required since in C++98 we still pass ArgumentTuple around
|
1600
|
+
// by const& instead of rvalue reference.
|
1601
|
+
void* untyped_args = const_cast<void*>(static_cast<const void*>(&args));
|
1584
1602
|
scoped_ptr<ResultHolder> holder(
|
1585
|
-
DownCast_<ResultHolder*>(this->UntypedInvokeWith(
|
1603
|
+
DownCast_<ResultHolder*>(this->UntypedInvokeWith(untyped_args)));
|
1586
1604
|
return holder->Unwrap();
|
1587
1605
|
}
|
1588
1606
|
|
@@ -1598,16 +1616,16 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1598
1616
|
}
|
1599
1617
|
|
1600
1618
|
// Adds and returns an expectation spec for this mock function.
|
1601
|
-
TypedExpectation<F>& AddNewExpectation(
|
1602
|
-
|
1603
|
-
|
1604
|
-
|
1605
|
-
const ArgumentMatcherTuple& m)
|
1606
|
-
GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
|
1619
|
+
TypedExpectation<F>& AddNewExpectation(const char* file, int line,
|
1620
|
+
const std::string& source_text,
|
1621
|
+
const ArgumentMatcherTuple& m)
|
1622
|
+
GTEST_LOCK_EXCLUDED_(g_gmock_mutex) {
|
1607
1623
|
Mock::RegisterUseByOnCallOrExpectCall(MockObject(), file, line);
|
1608
1624
|
TypedExpectation<F>* const expectation =
|
1609
1625
|
new TypedExpectation<F>(this, file, line, source_text, m);
|
1610
1626
|
const linked_ptr<ExpectationBase> untyped_expectation(expectation);
|
1627
|
+
// See the definition of untyped_expectations_ for why access to
|
1628
|
+
// it is unprotected here.
|
1611
1629
|
untyped_expectations_.push_back(untyped_expectation);
|
1612
1630
|
|
1613
1631
|
// Adds this expectation into the implicit sequence if there is one.
|
@@ -1619,10 +1637,6 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1619
1637
|
return *expectation;
|
1620
1638
|
}
|
1621
1639
|
|
1622
|
-
// The current spec (either default action spec or expectation spec)
|
1623
|
-
// being described on this function mocker.
|
1624
|
-
MockSpec<F>& current_spec() { return current_spec_; }
|
1625
|
-
|
1626
1640
|
private:
|
1627
1641
|
template <typename Func> friend class TypedExpectation;
|
1628
1642
|
|
@@ -1715,6 +1729,8 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1715
1729
|
const ArgumentTuple& args) const
|
1716
1730
|
GTEST_EXCLUSIVE_LOCK_REQUIRED_(g_gmock_mutex) {
|
1717
1731
|
g_gmock_mutex.AssertHeld();
|
1732
|
+
// See the definition of untyped_expectations_ for why access to
|
1733
|
+
// it is unprotected here.
|
1718
1734
|
for (typename UntypedExpectations::const_reverse_iterator it =
|
1719
1735
|
untyped_expectations_.rbegin();
|
1720
1736
|
it != untyped_expectations_.rend(); ++it) {
|
@@ -1765,14 +1781,10 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1765
1781
|
}
|
1766
1782
|
}
|
1767
1783
|
|
1768
|
-
// The current spec (either default action spec or expectation spec)
|
1769
|
-
// being described on this function mocker.
|
1770
|
-
MockSpec<F> current_spec_;
|
1771
|
-
|
1772
1784
|
// There is no generally useful and implementable semantics of
|
1773
1785
|
// copying a mock object, so copying a mock is usually a user error.
|
1774
1786
|
// Thus we disallow copying function mockers. If the user really
|
1775
|
-
// wants to copy a mock object,
|
1787
|
+
// wants to copy a mock object, they should implement their own copy
|
1776
1788
|
// operation, for example:
|
1777
1789
|
//
|
1778
1790
|
// class MockFoo : public Foo {
|
@@ -1796,7 +1808,7 @@ class FunctionMockerBase : public UntypedFunctionMockerBase {
|
|
1796
1808
|
|
1797
1809
|
// Reports an uninteresting call (whose description is in msg) in the
|
1798
1810
|
// manner specified by 'reaction'.
|
1799
|
-
void ReportUninterestingCall(CallReaction reaction, const string& msg);
|
1811
|
+
void ReportUninterestingCall(CallReaction reaction, const std::string& msg);
|
1800
1812
|
|
1801
1813
|
} // namespace internal
|
1802
1814
|
|
@@ -1831,17 +1843,76 @@ inline Expectation::Expectation(internal::ExpectationBase& exp) // NOLINT
|
|
1831
1843
|
|
1832
1844
|
} // namespace testing
|
1833
1845
|
|
1834
|
-
//
|
1835
|
-
// of the method used in call is
|
1836
|
-
// See CompilesWithMethodNameExpandedFromMacro
|
1837
|
-
// internal/gmock-spec-builders_test.cc for more details.
|
1838
|
-
|
1839
|
-
|
1840
|
-
|
1841
|
-
|
1842
|
-
|
1843
|
-
|
1844
|
-
|
1845
|
-
|
1846
|
+
// Implementation for ON_CALL and EXPECT_CALL macros. A separate macro is
|
1847
|
+
// required to avoid compile errors when the name of the method used in call is
|
1848
|
+
// a result of macro expansion. See CompilesWithMethodNameExpandedFromMacro
|
1849
|
+
// tests in internal/gmock-spec-builders_test.cc for more details.
|
1850
|
+
//
|
1851
|
+
// This macro supports statements both with and without parameter matchers. If
|
1852
|
+
// the parameter list is omitted, gMock will accept any parameters, which allows
|
1853
|
+
// tests to be written that don't need to encode the number of method
|
1854
|
+
// parameter. This technique may only be used for non-overloaded methods.
|
1855
|
+
//
|
1856
|
+
// // These are the same:
|
1857
|
+
// ON_CALL(mock, NoArgsMethod()).WillByDefault(…);
|
1858
|
+
// ON_CALL(mock, NoArgsMethod).WillByDefault(…);
|
1859
|
+
//
|
1860
|
+
// // As are these:
|
1861
|
+
// ON_CALL(mock, TwoArgsMethod(_, _)).WillByDefault(…);
|
1862
|
+
// ON_CALL(mock, TwoArgsMethod).WillByDefault(…);
|
1863
|
+
//
|
1864
|
+
// // Can also specify args if you want, of course:
|
1865
|
+
// ON_CALL(mock, TwoArgsMethod(_, 45)).WillByDefault(…);
|
1866
|
+
//
|
1867
|
+
// // Overloads work as long as you specify parameters:
|
1868
|
+
// ON_CALL(mock, OverloadedMethod(_)).WillByDefault(…);
|
1869
|
+
// ON_CALL(mock, OverloadedMethod(_, _)).WillByDefault(…);
|
1870
|
+
//
|
1871
|
+
// // Oops! Which overload did you want?
|
1872
|
+
// ON_CALL(mock, OverloadedMethod).WillByDefault(…);
|
1873
|
+
// => ERROR: call to member function 'gmock_OverloadedMethod' is ambiguous
|
1874
|
+
//
|
1875
|
+
// How this works: The mock class uses two overloads of the gmock_Method
|
1876
|
+
// expectation setter method plus an operator() overload on the MockSpec object.
|
1877
|
+
// In the matcher list form, the macro expands to:
|
1878
|
+
//
|
1879
|
+
// // This statement:
|
1880
|
+
// ON_CALL(mock, TwoArgsMethod(_, 45))…
|
1881
|
+
//
|
1882
|
+
// // …expands to:
|
1883
|
+
// mock.gmock_TwoArgsMethod(_, 45)(WithoutMatchers(), nullptr)…
|
1884
|
+
// |-------------v---------------||------------v-------------|
|
1885
|
+
// invokes first overload swallowed by operator()
|
1886
|
+
//
|
1887
|
+
// // …which is essentially:
|
1888
|
+
// mock.gmock_TwoArgsMethod(_, 45)…
|
1889
|
+
//
|
1890
|
+
// Whereas the form without a matcher list:
|
1891
|
+
//
|
1892
|
+
// // This statement:
|
1893
|
+
// ON_CALL(mock, TwoArgsMethod)…
|
1894
|
+
//
|
1895
|
+
// // …expands to:
|
1896
|
+
// mock.gmock_TwoArgsMethod(WithoutMatchers(), nullptr)…
|
1897
|
+
// |-----------------------v--------------------------|
|
1898
|
+
// invokes second overload
|
1899
|
+
//
|
1900
|
+
// // …which is essentially:
|
1901
|
+
// mock.gmock_TwoArgsMethod(_, _)…
|
1902
|
+
//
|
1903
|
+
// The WithoutMatchers() argument is used to disambiguate overloads and to
|
1904
|
+
// block the caller from accidentally invoking the second overload directly. The
|
1905
|
+
// second argument is an internal type derived from the method signature. The
|
1906
|
+
// failure to disambiguate two overloads of this method in the ON_CALL statement
|
1907
|
+
// is how we block callers from setting expectations on overloaded methods.
|
1908
|
+
#define GMOCK_ON_CALL_IMPL_(mock_expr, Setter, call) \
|
1909
|
+
((mock_expr).gmock_##call)(::testing::internal::GetWithoutMatchers(), NULL) \
|
1910
|
+
.Setter(__FILE__, __LINE__, #mock_expr, #call)
|
1911
|
+
|
1912
|
+
#define ON_CALL(obj, call) \
|
1913
|
+
GMOCK_ON_CALL_IMPL_(obj, InternalDefaultActionSetAt, call)
|
1914
|
+
|
1915
|
+
#define EXPECT_CALL(obj, call) \
|
1916
|
+
GMOCK_ON_CALL_IMPL_(obj, InternalExpectedAt, call)
|
1846
1917
|
|
1847
1918
|
#endif // GMOCK_INCLUDE_GMOCK_GMOCK_SPEC_BUILDERS_H_
|