aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMLightweightProxyTest.m
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-06-15 00:01:47 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-06-15 00:01:47 +0000
commitef78677fe133a8ad4ef07deb37e84c27c24d5918 (patch)
tree47ada1fbe6cfbcb87689fe1691453484d1234949 /Foundation/GTMLightweightProxyTest.m
parent0ad683cc4d69e6571975ca81a7ea3615358fcf1e (diff)
[Author: dmaclach]
Fix up the script so that we can build the iPhone target independent of the Mac target so that we can clean up the pulse config files to only build the one target without building multiple projects. DELTA=649 (626 added, 6 deleted, 17 changed) R=thomasvl
Diffstat (limited to 'Foundation/GTMLightweightProxyTest.m')
-rw-r--r--Foundation/GTMLightweightProxyTest.m29
1 files changed, 21 insertions, 8 deletions
diff --git a/Foundation/GTMLightweightProxyTest.m b/Foundation/GTMLightweightProxyTest.m
index 01a1bb2..3309484 100644
--- a/Foundation/GTMLightweightProxyTest.m
+++ b/Foundation/GTMLightweightProxyTest.m
@@ -6,9 +6,9 @@
// 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
@@ -31,10 +31,10 @@
@implementation GTMLightweightProxyTest
- (void)testInit {
- id proxy = [[[GTMLightweightProxy alloc]
+ id proxy = [[[GTMLightweightProxy alloc]
initWithRepresentedObject:self] autorelease];
STAssertNotNil(proxy, nil);
-
+
proxy = [[[GTMLightweightProxy alloc] init] autorelease];
STAssertNotNil(proxy, nil);
}
@@ -44,13 +44,13 @@
= [[[GTMLightweightProxy alloc] initWithRepresentedObject:self] autorelease];
STAssertEqualObjects(self, [proxy representedObject],
@"Represented object setup failed");
-
+
// Check that it identifies itself as a proxy.
STAssertTrue([proxy isProxy], @"Should identify as a proxy");
// Check that it passes class requests on
STAssertTrue([proxy isMemberOfClass:[self class]],
@"Should pass class requests through");
-
+
// Check that it claims to respond to its selectors.
STAssertTrue([proxy respondsToSelector:@selector(initWithRepresentedObject:)],
@"Claims not to respond to initWithRepresentedObject:");
@@ -62,13 +62,18 @@
STAssertTrue([proxy respondsToSelector:@selector(returnYes)],
@"Claims not to respond to returnYes");
// ... but not to made up selectors.
+#if !(__IPHONE_OS_VERSION_MIN_REQUIRED == __IPHONE_3_2 || __IPHONE_OS_VERSION_MIN_REQUIRED == __IPHONE_4_0)
+ // Exceptions thrown by - (void)doesNotRecognizeSelector:(SEL)aSelector
+ // does not get caught on iOS 3.2 and greater.
+ // http://openradar.appspot.com/radar?id=420401
STAssertThrows([proxy someMadeUpMethod],
@"Calling a bogus method should throw");
-
+#endif
+
// Check that callthrough works.
STAssertTrue([proxy returnYes],
@"Calling through to the represented object failed");
-
+
// Check that nilling out the represented object works.
[proxy setRepresentedObject:nil];
STAssertTrue([proxy respondsToSelector:@selector(setRepresentedObject:)],
@@ -81,9 +86,17 @@
STAssertNoThrow([proxy returnYes],
@"Calling through without a represented object should fail"
@" silently");
+
// ... even when they are made up.
+#if !(__IPHONE_OS_VERSION_MIN_REQUIRED == __IPHONE_3_2 || __IPHONE_OS_VERSION_MIN_REQUIRED == __IPHONE_4_0)
+ // Exceptions thrown by - (void)doesNotRecognizeSelector:(SEL)aSelector
+ // does not get caught on iOS 3.2 and greater.
+ // http://openradar.appspot.com/radar?id=420401
+
STAssertNoThrow([proxy someMadeUpMethod],
@"Calling a bogus method on a nilled proxy should not throw");
+#endif
+
}
// Simple method to test calling through the proxy.