Home | History | Annotate | Download | only in testing
      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 // Note that while this file is in testing/ and tests GTest macros, it is built
      6 // as part of Chromium's unit_tests target because the project does not build
      7 // or run GTest's internal test suite.
      8 
      9 #import "testing/gtest_mac.h"
     10 
     11 #import <Foundation/Foundation.h>
     12 
     13 #include "base/mac/scoped_nsautorelease_pool.h"
     14 #include "testing/gtest/include/gtest/internal/gtest-port.h"
     15 #include "testing/gtest/include/gtest/gtest.h"
     16 
     17 TEST(GTestMac, ExpectNSEQ) {
     18   base::mac::ScopedNSAutoreleasePool pool;
     19 
     20   EXPECT_NSEQ(@"a", @"a");
     21 
     22   NSString* s1 = [NSString stringWithUTF8String:"a"];
     23   NSString* s2 = [NSString stringWithString:@"a"];
     24   EXPECT_NE(s1, s2);
     25   EXPECT_NSEQ(s1, s2);
     26 }
     27 
     28 TEST(GTestMac, AssertNSEQ) {
     29   base::mac::ScopedNSAutoreleasePool pool;
     30 
     31   NSNumber* n1 = [NSNumber numberWithInt:42];
     32   NSNumber* n2 = [NSNumber numberWithInt:42];
     33   EXPECT_NE(n1, n2);
     34   ASSERT_NSEQ(n1, n2);
     35 }
     36 
     37 TEST(GTestMac, ExpectNSNE) {
     38   base::mac::ScopedNSAutoreleasePool pool;
     39 
     40   EXPECT_NSNE([NSNumber numberWithInt:2], [NSNumber numberWithInt:42]);
     41 }
     42 
     43 TEST(GTestMac, AssertNSNE) {
     44   base::mac::ScopedNSAutoreleasePool pool;
     45 
     46   ASSERT_NSNE(@"a", @"b");
     47 }
     48 
     49 TEST(GTestMac, ExpectNSNil) {
     50   base::mac::ScopedNSAutoreleasePool pool;
     51 
     52   EXPECT_NSEQ(nil, nil);
     53   EXPECT_NSNE(nil, @"a");
     54   EXPECT_NSNE(@"a", nil);
     55 
     56   // TODO(shess): Test that EXPECT_NSNE(nil, nil) fails.
     57 }
     58