mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-30 03:50:46 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36616 72102866-910b-0410-8b05-ffd578937521
37 lines
788 B
Objective-C
37 lines
788 B
Objective-C
#import <Foundation/Foundation.h>
|
|
#include <objc/runtime.h>
|
|
#import "ObjectTesting.h"
|
|
|
|
static BOOL notifiedCurrent = NO;
|
|
|
|
@interface Toggle : NSObject
|
|
@end
|
|
|
|
@implementation Toggle
|
|
- (void) foo: (NSNotification*)n
|
|
{
|
|
notifiedCurrent = NO;
|
|
}
|
|
- (void) bar: (NSNotification*)n
|
|
{
|
|
notifiedCurrent = YES;
|
|
}
|
|
@end
|
|
|
|
int main(void)
|
|
{
|
|
NSNotificationCenter *nc;
|
|
id t = [Toggle new];
|
|
|
|
[NSAutoreleasePool new];
|
|
nc = [NSNotificationCenter new];
|
|
[nc addObserver: t selector: @selector(foo:) name: nil object: nil];
|
|
class_replaceMethod([Toggle class],
|
|
@selector(foo:),
|
|
class_getMethodImplementation([Toggle class], @selector(bar:)),
|
|
"v@:@");
|
|
[nc postNotificationName: @"foo" object: t];
|
|
[t release];
|
|
PASS(YES == notifiedCurrent, "implementation not cached");
|
|
return 0;
|
|
}
|