1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_ 6 #define THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_ 7 8 #include "testing/gtest/include/gtest/gtest.h" 9 10 @class OCMockObject; 11 12 namespace testing { 13 namespace internal { 14 bool VerifyOCMock(OCMockObject* mock, const char* file, int line); 15 } // namespace internal 16 } // namespace testing 17 18 // Calls -verify of the mock and traps the Objective-C exception that is 19 // generated, adding it to the gtest failures and returning true/false 20 // for if there was an exception. The result should be used in normal 21 // gtest EXECPT_TRUE/ASSERT_TRUE fashion. 22 // 23 // So code that would do: 24 // 25 // id mockFoo = [OCMockObject mockForClass:[Foo class]]; 26 // ... 27 // [mockFoo verify]; 28 // 29 // Should instead do: 30 // 31 // id mockFoo = [OCMockObject mockForClass:[Foo class]]; 32 // ... 33 // EXPECT_OCMOCK_VERIFY(mockFoo); 34 // 35 #define EXPECT_OCMOCK_VERIFY(m) \ 36 EXPECT_TRUE(testing::internal::VerifyOCMock((m), __FILE__, __LINE__)) 37 #define ASSERT_OCMOCK_VERIFY(m) \ 38 ASSERT_TRUE(testing::internal::VerifyOCMock((m), __FILE__, __LINE__)) 39 40 #endif // THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_ 41