Adding a flag option to change the default mock type
This commit is contained in:
@@ -93,8 +93,11 @@ using testing::Sequence;
|
||||
using testing::SetArgPointee;
|
||||
using testing::internal::ExpectationTester;
|
||||
using testing::internal::FormatFileLocation;
|
||||
using testing::internal::kAllow;
|
||||
using testing::internal::kErrorVerbosity;
|
||||
using testing::internal::kFail;
|
||||
using testing::internal::kInfoVerbosity;
|
||||
using testing::internal::kWarn;
|
||||
using testing::internal::kWarningVerbosity;
|
||||
using testing::internal::linked_ptr;
|
||||
|
||||
@@ -691,6 +694,38 @@ TEST(ExpectCallSyntaxTest, WarnsOnTooFewActions) {
|
||||
b.DoB();
|
||||
}
|
||||
|
||||
TEST(ExpectCallSyntaxTest, WarningIsErrorWithFlag) {
|
||||
int original_behavior = testing::GMOCK_FLAG(default_mock_behavior);
|
||||
|
||||
testing::GMOCK_FLAG(default_mock_behavior) = kAllow;
|
||||
CaptureStdout();
|
||||
{
|
||||
MockA a;
|
||||
a.DoA(0);
|
||||
}
|
||||
std::string output = GetCapturedStdout();
|
||||
EXPECT_TRUE(output.empty()) << output;
|
||||
|
||||
testing::GMOCK_FLAG(default_mock_behavior) = kWarn;
|
||||
CaptureStdout();
|
||||
{
|
||||
MockA a;
|
||||
a.DoA(0);
|
||||
}
|
||||
std::string warning_output = GetCapturedStdout();
|
||||
EXPECT_PRED_FORMAT2(IsSubstring, "GMOCK WARNING", warning_output);
|
||||
EXPECT_PRED_FORMAT2(IsSubstring, "Uninteresting mock function call", warning_output);
|
||||
|
||||
testing::GMOCK_FLAG(default_mock_behavior) = kFail;
|
||||
EXPECT_NONFATAL_FAILURE({
|
||||
MockA a;
|
||||
a.DoA(0);
|
||||
},"Uninteresting mock function call");
|
||||
|
||||
testing::GMOCK_FLAG(default_mock_behavior) = original_behavior;
|
||||
}
|
||||
|
||||
|
||||
#endif // GTEST_HAS_STREAM_REDIRECTION
|
||||
|
||||
// Tests the semantics of ON_CALL().
|
||||
|
||||
Reference in New Issue
Block a user