diff --git a/ChangeLog b/ChangeLog index a71921d1f..ac5f9da7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ * Tools/gdnc.m: Change name of dummy class to avoid Darwin linker problems. + * Testing/nsundomanager.m: Trivial test added 2004-12-21 Adam Fedor diff --git a/Testing/GNUmakefile b/Testing/GNUmakefile index 963c793aa..b0e08b6cc 100644 --- a/Testing/GNUmakefile +++ b/Testing/GNUmakefile @@ -63,6 +63,7 @@ CHECKABLE_TOOLS = \ nstask \ nstimer \ nstimezone \ + nsundomanager \ nsxmlparser \ release \ string \ @@ -121,6 +122,7 @@ nstask_OBJC_FILES = nstask.m nstimer_OBJC_FILES = nstimer.m nstimezone_OBJC_FILES = nstimezone.m nsxmlparser_OBJC_FILES = nsxmlparser.m +nsundomanager_OBJC_FILES = nsundomanager.m prepend_OBJC_FILES = prepend.m release_OBJC_FILES = release.m string_OBJC_FILES = string.m diff --git a/Testing/nsundomanager.m b/Testing/nsundomanager.m new file mode 100644 index 000000000..91cac03f0 --- /dev/null +++ b/Testing/nsundomanager.m @@ -0,0 +1,43 @@ + +#include + +@interface UndoObject: NSObject +{ + int state; +} +- (void) setState: (int)aState; +- (int) state; +@end +@implementation UndoObject +- (void) setState: (int)aState +{ + state = aState; +} +- (int) state +{ + return state; +} +@end + +int +main () +{ + CREATE_AUTORELEASE_POOL(arp); + NSUndoManager *u = [NSUndoManager new]; + UndoObject *o = [UndoObject new]; + BOOL failed = NO; + + [u registerUndoWithTarget: o selector: @selector(setState:) object: (id)1]; + [u undo]; + if ([o state] != 1) + { + NSLog(@"Failed undo"); + failed = YES; + } + RELEASE(arp); + if (failed == NO) + { + NSLog(@"Test passed"); + } + exit (0); +}