Roll src/third_party/WebKit 8139f33:52503da (svn 201975:201976)
[chromium-blink-merge.git] / third_party / ocmock / gtest_support.h
blob11f8b0ee39e844433b0c03dcc481c4a477d79215
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.
5 #ifndef THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_
6 #define THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_
8 #include "testing/gtest/include/gtest/gtest.h"
10 @class OCMockObject;
12 namespace testing {
13 namespace internal {
14 bool VerifyOCMock(OCMockObject* mock, const char* file, int line);
15 } // namespace internal
16 } // namespace testing
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.
23 // So code that would do:
25 // id mockFoo = [OCMockObject mockForClass:[Foo class]];
26 // ...
27 // [mockFoo verify];
29 // Should instead do:
31 // id mockFoo = [OCMockObject mockForClass:[Foo class]];
32 // ...
33 // EXPECT_OCMOCK_VERIFY(mockFoo);
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__))
40 #endif // THIRD_PARTY_OCMOCK_GTEST_SUPPORT_H_