// 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. #include "third_party/ocmock/gtest_support.h" #import <Foundation/Foundation.h> #import "third_party/ocmock/OCMock/OCMock.h" // When C++ exceptions are disabled, the C++ library defines |try| and // |catch| so as to allow exception-expecting C++ code to build properly when // language support for exceptions is not present. These macros interfere // with the use of |@try| and |@catch| in Objective-C files such as this one. // Undefine these macros here, after everything has been #included, since // there will be no C++ uses and only Objective-C uses from this point on. #undef try #undef catch namespace testing { namespace internal { bool VerifyOCMock(OCMockObject* mock, const char* file, int line) { bool result = true; @try { [mock verify]; } @catch (NSException* e) { result = false; ADD_FAILURE_AT(file, line) << "OCMock validation failed: " << [[e description] UTF8String]; } return result; } } // namespace internal } // namespace testing