| Index: testing/gtest_mac.mm
|
| diff --git a/testing/gtest_mac.mm b/testing/gtest_mac.mm
|
| index c36b18bb554c57efd085db984b2d585b0a5e276b..b39d258c13d15a42c1a644a8a1666f55b3073bf0 100644
|
| --- a/testing/gtest_mac.mm
|
| +++ b/testing/gtest_mac.mm
|
| @@ -17,6 +17,12 @@
|
| namespace testing {
|
| namespace internal {
|
|
|
| +// Handles nil values for |obj| properly by using safe printing of %@ in
|
| +// -stringWithFormat:.
|
| +static inline const char* StringDescription(id<NSObject> obj) {
|
| + return [[NSString stringWithFormat:@"%@", obj] UTF8String];
|
| +}
|
| +
|
| // This overloaded version allows comparison between ObjC objects that conform
|
| // to the NSObject protocol. Used to implement {ASSERT|EXPECT}_EQ().
|
| GTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression,
|
| @@ -28,8 +34,8 @@ GTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression,
|
| }
|
| return EqFailure(expected_expression,
|
| actual_expression,
|
| - std::string([[expected description] UTF8String]),
|
| - std::string([[actual description] UTF8String]),
|
| + std::string(StringDescription(expected)),
|
| + std::string(StringDescription(actual)),
|
| false);
|
| }
|
|
|
| @@ -44,8 +50,8 @@ GTEST_API_ AssertionResult CmpHelperNSNE(const char* expected_expression,
|
| }
|
| Message msg;
|
| msg << "Expected: (" << expected_expression << ") != (" << actual_expression
|
| - << "), actual: " << std::string([[expected description] UTF8String])
|
| - << " vs " << std::string([[actual description] UTF8String]);
|
| + << "), actual: " << StringDescription(expected)
|
| + << " vs " << StringDescription(actual);
|
| return AssertionFailure(msg);
|
| }
|
|
|
|
|