| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_ |
| #define THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_ |
| |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| @class OCMockObject; |
| |
| namespace testing { |
| namespace internal { |
| bool VerifyOCMock(OCMockObject* mock, const char* file, int line); |
| } // namespace internal |
| } // namespace testing |
| |
| // Calls -verify of the mock and traps the Objective-C exception that is |
| // generated, adding it to the gtest failures and returning true/false |
| // for if there was an exception. The result should be used in normal |
| // gtest EXECPT_TRUE/ASSERT_TRUE fashion. |
| // |
| // So code that would do: |
| // |
| // id mockFoo = [OCMockObject mockForClass:[Foo class]]; |
| // ... |
| // [mockFoo verify]; |
| // |
| // Should instead do: |
| // |
| // id mockFoo = [OCMockObject mockForClass:[Foo class]]; |
| // ... |
| // EXPECT_OCMOCK_VERIFY(mockFoo); |
| // |
| #define EXPECT_OCMOCK_VERIFY(m) \ |
| EXPECT_TRUE(testing::internal::VerifyOCMock((m), __FILE__, __LINE__)) |
| #define ASSERT_OCMOCK_VERIFY(m) \ |
| ASSERT_TRUE(testing::internal::VerifyOCMock((m), __FILE__, __LINE__)) |
| |
| #endif // THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_ |