libs-base/Tests/base/NSRunLoop/general.m
rfm 3fba03ba55 Important change to the START_SET and END_SET macros to stop their use
being confusing.  They now both take a simple C-string argument which
names the set, and the macros check that each end matches a start of
the same name.  Since tis means that a START_SET no longer takes an
argument sayng whether or notthe set is to be skipped, we now have a
SKIP macro to be used inside a set to skip to the end of it.  This
is actually more versatile as we can have multiple SKIP macros in the
same set, each providing a different reason for the set being skipped.
Also removed a few obsolete/unused functions and macros.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32355 72102866-910b-0410-8b05-ffd578937521
2011-02-24 16:26:01 +00:00

36 lines
1 KiB
Objective-C

#import "ObjectTesting.h"
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSInvocation.h>
#import <Foundation/NSRunLoop.h>
#import <Foundation/NSTimer.h>
int main()
{
NSAutoreleasePool *arp = [NSAutoreleasePool new];
NSMethodSignature *sig;
NSInvocation *inv;
NSTimer *tim;
NSRunLoop *run;
NSDate *date;
sig = [NSTimer instanceMethodSignatureForSelector:@selector(isValid)];
inv = [NSInvocation invocationWithMethodSignature: sig];
run = [NSRunLoop currentRunLoop];
PASS(run != nil, "NSRunLoop understands [+currentRunLoop]");
PASS([run currentMode] == nil, "-currentMode returns nil");
PASS_RUNS(date = [NSDate dateWithTimeIntervalSinceNow:3];
[run runUntilDate:date];,
"-runUntilDate: works");
PASS_RUNS(date = [NSDate dateWithTimeIntervalSinceNow:5];
tim = [NSTimer scheduledTimerWithTimeInterval: 2.0
invocation:inv
repeats:YES];,
"-runUntilDate: works with a timer");
[arp release]; arp = nil;
return 0;
}