// 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_