summaryrefslogtreecommitdiff
path: root/chromium/third_party/ocmock/gtest_support.h
blob: 11f8b0ee39e844433b0c03dcc481c4a477d79215 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// 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_