• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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