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 15 namespace testing { 16 namespace internal { 17 18 // This overloaded version allows comparison between ObjC objects that conform 19 // to the NSObject protocol. Used to implement {ASSERT|EXPECT}_EQ(). 20 GTEST_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(). 27 GTEST_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