1// Copyright (c) 2010 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 TESTING_GTEST_MAC_H_ 6#define TESTING_GTEST_MAC_H_ 7 8#include <gtest/internal/gtest-port.h> 9#include <gtest/gtest.h> 10 11#ifdef GTEST_OS_MAC 12 13#import <Foundation/Foundation.h> 14 15namespace testing { 16namespace internal { 17 18// This overloaded version allows comparison between ObjC objects that conform 19// to the NSObject protocol. Used to implement {ASSERT|EXPECT}_EQ(). 20GTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression, 21 const char* actual_expression, 22 id<NSObject> expected, 23 id<NSObject> actual); 24 25// This overloaded version allows comparison between ObjC objects that conform 26// to the NSObject protocol. Used to implement {ASSERT|EXPECT}_NE(). 27GTEST_API_ AssertionResult CmpHelperNSNE(const char* expected_expression, 28 const char* actual_expression, 29 id<NSObject> expected, 30 id<NSObject> actual); 31 32} // namespace internal 33} // namespace testing 34 35// Tests that [expected isEqual:actual]. 36#define EXPECT_NSEQ(expected, actual) \ 37 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual) 38#define EXPECT_NSNE(val1, val2) \ 39 EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2) 40 41#define ASSERT_NSEQ(expected, actual) \ 42 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual) 43#define ASSERT_NSNE(val1, val2) \ 44 ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2) 45 46#endif // GTEST_OS_MAC 47 48#endif // TESTING_GTEST_MAC_H_ 49