Add multi argument method invocation test

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26576 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2008-05-27 10:02:34 +00:00
parent 955d9d800e
commit af1b3c2607

View file

@ -53,6 +53,14 @@ typedef struct {
- (short) retShort;
- (small) retSmall;
- (char*) retString;
- (void) addObserver: (unsigned long)anObserver
selector: (NSString*)aSelector
name: (NSString*)notificationName
object: (NSString*)anObject
suspensionBehavior: (int)suspensionBehavior
for: (id)client;
@end
@implementation Target
@ -164,6 +172,16 @@ typedef struct {
{
return "string";
}
- (void) addObserver: (unsigned long)anObserver
selector: (NSString*)aSelector
name: (NSString*)notificationName
object: (NSString*)anObject
suspensionBehavior: (int)suspensionBehavior
for: (id)client
{
printf("called multi argument method\n");
}
@end
@interface MyProxy : NSObject
@ -436,7 +454,18 @@ printf("Calling proxy\n");
printf("forward: '%s'\n", str);
SETUP(addObserver:selector:name:object:suspensionBehavior:for:);
q = 1;
str = @"a";
i = 2;
[inv setArgument: &q atIndex: 2];
[inv setArgument: &str atIndex: 3];
[inv setArgument: &str atIndex: 4];
[inv setArgument: &str atIndex: 5];
[inv setArgument: &i atIndex: 6];
[inv setArgument: &str atIndex: 7];
[inv invokeWithTarget: t];
SETUP(retSmall);
[inv invokeWithTarget: t];