aboutsummaryrefslogtreecommitdiffstats
path: root/googlemock/test/gmock_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'googlemock/test/gmock_test.cc')
-rw-r--r--googlemock/test/gmock_test.cc46
1 files changed, 44 insertions, 2 deletions
diff --git a/googlemock/test/gmock_test.cc b/googlemock/test/gmock_test.cc
index d8d0c57b..70075679 100644
--- a/googlemock/test/gmock_test.cc
+++ b/googlemock/test/gmock_test.cc
@@ -37,9 +37,11 @@
#include <string>
#include "gtest/gtest.h"
+#include "gtest/internal/custom/gtest.h"
#if !defined(GTEST_CUSTOM_INIT_GOOGLE_TEST_FUNCTION_)
+using testing::GMOCK_FLAG(default_mock_behavior);
using testing::GMOCK_FLAG(verbose);
using testing::InitGoogleMock;
@@ -50,9 +52,9 @@ void TestInitGoogleMock(const Char* (&argv)[M], const Char* (&new_argv)[N],
const ::std::string& expected_gmock_verbose) {
const ::std::string old_verbose = GMOCK_FLAG(verbose);
- int argc = M;
+ int argc = M - 1;
InitGoogleMock(&argc, const_cast<Char**>(argv));
- ASSERT_EQ(N, argc) << "The new argv has wrong number of elements.";
+ ASSERT_EQ(N - 1, argc) << "The new argv has wrong number of elements.";
for (int i = 0; i < N; i++) {
EXPECT_STREQ(new_argv[i], argv[i]);
@@ -103,6 +105,26 @@ TEST(InitGoogleMockTest, ParsesSingleFlag) {
TestInitGoogleMock(argv, new_argv, "info");
}
+TEST(InitGoogleMockTest, ParsesMultipleFlags) {
+ int old_default_behavior = GMOCK_FLAG(default_mock_behavior);
+ const wchar_t* argv[] = {
+ L"foo.exe",
+ L"--gmock_verbose=info",
+ L"--gmock_default_mock_behavior=2",
+ NULL
+ };
+
+ const wchar_t* new_argv[] = {
+ L"foo.exe",
+ NULL
+ };
+
+ TestInitGoogleMock(argv, new_argv, "info");
+ EXPECT_EQ(2, GMOCK_FLAG(default_mock_behavior));
+ EXPECT_NE(2, old_default_behavior);
+ GMOCK_FLAG(default_mock_behavior) = old_default_behavior;
+}
+
TEST(InitGoogleMockTest, ParsesUnrecognizedFlag) {
const char* argv[] = {
"foo.exe",
@@ -177,6 +199,26 @@ TEST(WideInitGoogleMockTest, ParsesSingleFlag) {
TestInitGoogleMock(argv, new_argv, "info");
}
+TEST(WideInitGoogleMockTest, ParsesMultipleFlags) {
+ int old_default_behavior = GMOCK_FLAG(default_mock_behavior);
+ const wchar_t* argv[] = {
+ L"foo.exe",
+ L"--gmock_verbose=info",
+ L"--gmock_default_mock_behavior=2",
+ NULL
+ };
+
+ const wchar_t* new_argv[] = {
+ L"foo.exe",
+ NULL
+ };
+
+ TestInitGoogleMock(argv, new_argv, "info");
+ EXPECT_EQ(2, GMOCK_FLAG(default_mock_behavior));
+ EXPECT_NE(2, old_default_behavior);
+ GMOCK_FLAG(default_mock_behavior) = old_default_behavior;
+}
+
TEST(WideInitGoogleMockTest, ParsesUnrecognizedFlag) {
const wchar_t* argv[] = {
L"foo.exe",