Home | History | Annotate | Download | only in ocmock
      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