aboutsummaryrefslogtreecommitdiff
path: root/DebugUtils/GTMMethodCheckTest.m
blob: b5e7e6bee1b006866ebaaa027a513ec3728c1fcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//
//  GTMMethodCheckTest.m
//  Copyright 2006-2008 Google Inc.
//
//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
//  use this file except in compliance with the License.  You may obtain a copy
//  of the License at
// 
//  http://www.apache.org/licenses/LICENSE-2.0
// 
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
//  License for the specific language governing permissions and limitations under
//  the License.
//

#import "GTMSenTestCase.h"
#import "GTMMethodCheck.h"

static BOOL gTestCheckVar = NO;

// This is a contrived class that doesn't inherit from NSObject, but does
// implement some of it's functionality to force test a case in 
// GTMMethodCheck.
@interface GTMClassThatDoesntInheritFromNSObject
+ (BOOL)instancesRespondToSelector:(SEL)selector;
+ (BOOL)respondsToSelector:(SEL)selector;
@end

@implementation GTMClassThatDoesntInheritFromNSObject
GTM_METHOD_CHECK(GTMClassThatDoesntInheritFromNSObject, GTMMethodCheckTestMethod);
- (void)GTMMethodCheckTestMethod {
}
+ (BOOL)instancesRespondToSelector:(SEL)selector {
  return YES;
}

+ (BOOL)respondsToSelector:(SEL)selector {
  return YES;
}
@end

@interface GTMMethodCheckTest : SenTestCase
@end

@implementation GTMMethodCheckTest
GTM_METHOD_CHECK(GTMMethodCheckTest, GTMMethodCheckTestMethod);
GTM_METHOD_CHECK(GTMMethodCheckTest, GTMMethodCheckTestClassMethod);

- (void)GTMMethodCheckTestMethod {
}

+ (void)GTMMethodCheckTestClassMethod {
}

+ (void)xxGTMMethodCheckMethodTestCheck {
  // This gets called because of its special name by GMMethodCheck
  // Look at the Macros in GMMethodCheck.h for details.
  gTestCheckVar = YES;
}

- (void)testGTMMethodCheck {
#ifdef DEBUG
  // GTMMethodCheck only runs in debug
  STAssertTrue(gTestCheckVar, @"Should be true");
#endif
}
@end