1 | // RUN: %check_clang_tidy %s objc-assert-equals %t -- -- -I %S/Inputs/assert |
2 | #include "XCTestAssertions.h" |
3 | // Can't reference NSString directly so we use this getStr() instead. |
4 | __typeof(@"abc" ) getStr(void) { |
5 | return @"abc" ; |
6 | } |
7 | void foo(void) { |
8 | XCTAssertEqual(getStr(), @"abc" ); |
9 | // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use XCTAssertEqualObjects for comparing objects |
10 | // CHECK-FIXES: XCTAssertEqualObjects(getStr(), @"abc"); |
11 | XCTAssertEqual(@"abc" , @"abc" ); |
12 | // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use XCTAssertEqualObjects for comparing objects |
13 | // CHECK-FIXES: XCTAssertEqualObjects(@"abc", @"abc"); |
14 | XCTAssertEqual(@"abc" , getStr()); |
15 | // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use XCTAssertEqualObjects for comparing objects |
16 | // CHECK-FIXES: XCTAssertEqualObjects(@"abc", getStr()); |
17 | XCTAssertEqual(getStr(), getStr()); |
18 | // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use XCTAssertEqualObjects for comparing objects |
19 | // CHECK-FIXES: XCTAssertEqualObjects(getStr(), getStr()); |
20 | // Primitive types should be ok |
21 | XCTAssertEqual(123, 123); |
22 | XCTAssertEqual(123.0, 123.45); |
23 | // FIXME: This is the case where we don't diagnose properly. |
24 | // XCTAssertEqual(@"abc" != @"abc", @"xyz" != @"xyz") |
25 | } |
26 | |