diff options
author | zhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925> | 2010-09-27 17:42:52 (GMT) |
---|---|---|
committer | zhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925> | 2010-09-27 17:42:52 (GMT) |
commit | b5d3a17805fe0ed2ccde463412ae1fd206c4df21 (patch) | |
tree | 267c18d6dd6ee179748ea46e790f3c32c42a100e | |
parent | 345d9ebf30ccc2747c4e4c224b95fd8406093e29 (diff) | |
download | googletest-b5d3a17805fe0ed2ccde463412ae1fd206c4df21.zip googletest-b5d3a17805fe0ed2ccde463412ae1fd206c4df21.tar.gz googletest-b5d3a17805fe0ed2ccde463412ae1fd206c4df21.tar.bz2 |
Allows EXPECT_FATAL_FAILURE() and friends to accept a string object as the second argument.
-rw-r--r-- | include/gtest/gtest-spi.h | 4 | ||||
-rw-r--r-- | src/gtest.cc | 8 | ||||
-rw-r--r-- | test/gtest_unittest.cc | 23 |
3 files changed, 29 insertions, 6 deletions
diff --git a/include/gtest/gtest-spi.h b/include/gtest/gtest-spi.h index e338e36..b226e55 100644 --- a/include/gtest/gtest-spi.h +++ b/include/gtest/gtest-spi.h @@ -98,12 +98,12 @@ class GTEST_API_ SingleFailureChecker { // The constructor remembers the arguments. SingleFailureChecker(const TestPartResultArray* results, TestPartResult::Type type, - const char* substr); + const string& substr); ~SingleFailureChecker(); private: const TestPartResultArray* const results_; const TestPartResult::Type type_; - const String substr_; + const string substr_; GTEST_DISALLOW_COPY_AND_ASSIGN_(SingleFailureChecker); }; diff --git a/src/gtest.cc b/src/gtest.cc index 34e56d7..3b2238f 100644 --- a/src/gtest.cc +++ b/src/gtest.cc @@ -607,7 +607,7 @@ AssertionResult HasOneFailure(const char* /* results_expr */, const char* /* substr_expr */, const TestPartResultArray& results, TestPartResult::Type type, - const char* substr) { + const string& substr) { const String expected(type == TestPartResult::kFatalFailure ? "1 fatal failure" : "1 non-fatal failure"); @@ -629,7 +629,7 @@ AssertionResult HasOneFailure(const char* /* results_expr */, return AssertionFailure(msg); } - if (strstr(r.message(), substr) == NULL) { + if (strstr(r.message(), substr.c_str()) == NULL) { msg << "Expected: " << expected << " containing \"" << substr << "\"\n" << " Actual:\n" @@ -646,7 +646,7 @@ AssertionResult HasOneFailure(const char* /* results_expr */, SingleFailureChecker:: SingleFailureChecker( const TestPartResultArray* results, TestPartResult::Type type, - const char* substr) + const string& substr) : results_(results), type_(type), substr_(substr) {} @@ -656,7 +656,7 @@ SingleFailureChecker:: SingleFailureChecker( // type and contains the given substring. If that's not the case, a // non-fatal failure will be generated. SingleFailureChecker::~SingleFailureChecker() { - EXPECT_PRED_FORMAT3(HasOneFailure, *results_, type_, substr_.c_str()); + EXPECT_PRED_FORMAT3(HasOneFailure, *results_, type_, substr_); } DefaultGlobalTestPartResultReporter::DefaultGlobalTestPartResultReporter( diff --git a/test/gtest_unittest.cc b/test/gtest_unittest.cc index 8e3e7e6..056064f 100644 --- a/test/gtest_unittest.cc +++ b/test/gtest_unittest.cc @@ -1335,6 +1335,17 @@ TEST_F(ExpectFatalFailureTest, CatchesFatalFaliure) { EXPECT_FATAL_FAILURE(AddFatalFailure(), "Expected fatal failure."); } +#if GTEST_HAS_GLOBAL_STRING +TEST_F(ExpectFatalFailureTest, AcceptsStringObject) { + EXPECT_FATAL_FAILURE(AddFatalFailure(), ::string("Expected fatal failure.")); +} +#endif + +TEST_F(ExpectFatalFailureTest, AcceptsStdStringObject) { + EXPECT_FATAL_FAILURE(AddFatalFailure(), + ::std::string("Expected fatal failure.")); +} + TEST_F(ExpectFatalFailureTest, CatchesFatalFailureOnAllThreads) { // We have another test below to verify that the macro catches fatal // failures generated on another thread. @@ -1412,6 +1423,18 @@ TEST_F(ExpectNonfatalFailureTest, CatchesNonfatalFailure) { "Expected non-fatal failure."); } +#if GTEST_HAS_GLOBAL_STRING +TEST_F(ExpectNonfatalFailureTest, AcceptsStringObject) { + EXPECT_NONFATAL_FAILURE(AddNonfatalFailure(), + ::string("Expected non-fatal failure.")); +} +#endif + +TEST_F(ExpectNonfatalFailureTest, AcceptsStdStringObject) { + EXPECT_NONFATAL_FAILURE(AddNonfatalFailure(), + ::std::string("Expected non-fatal failure.")); +} + TEST_F(ExpectNonfatalFailureTest, CatchesNonfatalFailureOnAllThreads) { // We have another test below to verify that the macro catches // non-fatal failures generated on another thread. |