1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2010 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker #ifndef TESTING_GTEST_MAC_H_ 6*3ac0a46fSAndroid Build Coastguard Worker #define TESTING_GTEST_MAC_H_ 7*3ac0a46fSAndroid Build Coastguard Worker #include <gtest/internal/gtest-port.h> 8*3ac0a46fSAndroid Build Coastguard Worker #include <gtest/gtest.h> 9*3ac0a46fSAndroid Build Coastguard Worker #ifdef GTEST_OS_MAC 10*3ac0a46fSAndroid Build Coastguard Worker #import <Foundation/Foundation.h> 11*3ac0a46fSAndroid Build Coastguard Worker namespace testing { 12*3ac0a46fSAndroid Build Coastguard Worker namespace internal { 13*3ac0a46fSAndroid Build Coastguard Worker // This overloaded version allows comparison between ObjC objects that conform 14*3ac0a46fSAndroid Build Coastguard Worker // to the NSObject protocol. Used to implement {ASSERT|EXPECT}_NSEQ(). 15*3ac0a46fSAndroid Build Coastguard Worker GTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression, 16*3ac0a46fSAndroid Build Coastguard Worker const char* actual_expression, 17*3ac0a46fSAndroid Build Coastguard Worker id<NSObject> expected, 18*3ac0a46fSAndroid Build Coastguard Worker id<NSObject> actual); 19*3ac0a46fSAndroid Build Coastguard Worker // This overloaded version allows comparison between ObjC objects that conform 20*3ac0a46fSAndroid Build Coastguard Worker // to the NSObject protocol. Used to implement {ASSERT|EXPECT}_NSNE(). 21*3ac0a46fSAndroid Build Coastguard Worker GTEST_API_ AssertionResult CmpHelperNSNE(const char* expected_expression, 22*3ac0a46fSAndroid Build Coastguard Worker const char* actual_expression, 23*3ac0a46fSAndroid Build Coastguard Worker id<NSObject> expected, 24*3ac0a46fSAndroid Build Coastguard Worker id<NSObject> actual); 25*3ac0a46fSAndroid Build Coastguard Worker #if !defined(GTEST_OS_IOS) 26*3ac0a46fSAndroid Build Coastguard Worker // This overloaded version allows comparison between NSRect objects using 27*3ac0a46fSAndroid Build Coastguard Worker // NSEqualRects. Used to implement {ASSERT|EXPECT}_NSEQ(). 28*3ac0a46fSAndroid Build Coastguard Worker GTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression, 29*3ac0a46fSAndroid Build Coastguard Worker const char* actual_expression, 30*3ac0a46fSAndroid Build Coastguard Worker const NSRect& expected, 31*3ac0a46fSAndroid Build Coastguard Worker const NSRect& actual); 32*3ac0a46fSAndroid Build Coastguard Worker // This overloaded version allows comparison between NSRect objects using 33*3ac0a46fSAndroid Build Coastguard Worker // NSEqualRects. Used to implement {ASSERT|EXPECT}_NSNE(). 34*3ac0a46fSAndroid Build Coastguard Worker GTEST_API_ AssertionResult CmpHelperNSNE(const char* expected_expression, 35*3ac0a46fSAndroid Build Coastguard Worker const char* actual_expression, 36*3ac0a46fSAndroid Build Coastguard Worker const NSRect& expected, 37*3ac0a46fSAndroid Build Coastguard Worker const NSRect& actual); 38*3ac0a46fSAndroid Build Coastguard Worker // This overloaded version allows comparison between NSPoint objects using 39*3ac0a46fSAndroid Build Coastguard Worker // NSEqualPoints. Used to implement {ASSERT|EXPECT}_NSEQ(). 40*3ac0a46fSAndroid Build Coastguard Worker GTEST_API_ AssertionResult CmpHelperNSEQ(const char* expected_expression, 41*3ac0a46fSAndroid Build Coastguard Worker const char* actual_expression, 42*3ac0a46fSAndroid Build Coastguard Worker const NSPoint& expected, 43*3ac0a46fSAndroid Build Coastguard Worker const NSPoint& actual); 44*3ac0a46fSAndroid Build Coastguard Worker // This overloaded version allows comparison between NSPoint objects using 45*3ac0a46fSAndroid Build Coastguard Worker // NSEqualPoints. Used to implement {ASSERT|EXPECT}_NSNE(). 46*3ac0a46fSAndroid Build Coastguard Worker GTEST_API_ AssertionResult CmpHelperNSNE(const char* expected_expression, 47*3ac0a46fSAndroid Build Coastguard Worker const char* actual_expression, 48*3ac0a46fSAndroid Build Coastguard Worker const NSPoint& expected, 49*3ac0a46fSAndroid Build Coastguard Worker const NSPoint& actual); 50*3ac0a46fSAndroid Build Coastguard Worker #endif // !GTEST_OS_IOS 51*3ac0a46fSAndroid Build Coastguard Worker } // namespace internal 52*3ac0a46fSAndroid Build Coastguard Worker } // namespace testing 53*3ac0a46fSAndroid Build Coastguard Worker // Tests that [expected isEqual:actual]. 54*3ac0a46fSAndroid Build Coastguard Worker #define EXPECT_NSEQ(expected, actual) \ 55*3ac0a46fSAndroid Build Coastguard Worker EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual) 56*3ac0a46fSAndroid Build Coastguard Worker #define EXPECT_NSNE(val1, val2) \ 57*3ac0a46fSAndroid Build Coastguard Worker EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2) 58*3ac0a46fSAndroid Build Coastguard Worker #define ASSERT_NSEQ(expected, actual) \ 59*3ac0a46fSAndroid Build Coastguard Worker ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSEQ, expected, actual) 60*3ac0a46fSAndroid Build Coastguard Worker #define ASSERT_NSNE(val1, val2) \ 61*3ac0a46fSAndroid Build Coastguard Worker ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperNSNE, val1, val2) 62*3ac0a46fSAndroid Build Coastguard Worker #endif // GTEST_OS_MAC 63*3ac0a46fSAndroid Build Coastguard Worker #endif // TESTING_GTEST_MAC_H_ 64