libs-gui/Tests/gui/NSNibLoading/basic.m

80 lines
2.1 KiB
Mathematica
Raw Normal View History

#import "ObjectTesting.h"
#import <Foundation/NSArray.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSFileManager.h>
#import <AppKit/NSApplication.h>
#import <AppKit/NSImage.h>
#import <AppKit/NSNibLoading.h>
2021-10-11 14:07:29 +00:00
// For some nib/xibs the AppDelegate is defined...
@interface AppDelegate : NSObject
2021-10-11 23:31:16 +00:00
{
IBOutlet NSWindow *window;
}
2021-10-11 14:07:29 +00:00
@end
@implementation AppDelegate
@end
int main()
{
NSAutoreleasePool *arp = [NSAutoreleasePool new];
NSArray **testObjects;
BOOL success = NO;
NSFileManager *mgr = [NSFileManager defaultManager];
NSString *path = [mgr currentDirectoryPath];
NSBundle *bundle = [[NSBundle alloc] initWithPath: path];
START_SET("NSNibLoading GNUstep basic")
NS_DURING
{
[NSApplication sharedApplication];
}
NS_HANDLER
{
if ([[localException name] isEqualToString: NSInternalInconsistencyException ])
SKIP("It looks like GNUstep backend is not yet installed")
}
NS_ENDHANDLER;
if ([[path lastPathComponent] isEqualToString: @"obj"])
{
path = [path stringByDeletingLastPathComponent];
}
2021-10-11 23:31:16 +00:00
pass(bundle != nil, "NSBundle was initialized");
2021-10-11 14:07:29 +00:00
2021-10-11 23:31:16 +00:00
NS_DURING
{
success = [bundle loadNibNamed: @"Test-gorm"
owner: [NSApplication sharedApplication]
topLevelObjects: testObjects];
pass(success == YES, ".gorm file was loaded properly using loadNibNamed:owner:topLevelObjects:");
success = [bundle loadNibNamed: @"Test-xib"
owner: [NSApplication sharedApplication]
topLevelObjects: testObjects];
pass(success == YES, ".xib file was loaded properly using loadNibNamed:owner:topLevelObjects:");
success = [bundle loadNibNamed: @"Test-nib"
owner: [NSApplication sharedApplication]
topLevelObjects: testObjects];
pass(success == YES, ".nib file was loaded properly using loadNibNamed:owner:topLevelObjects:");
}
NS_HANDLER
{
NSLog(@"%@", [localException reason]);
}
NS_ENDHANDLER;
END_SET("NSNibLoading GNUstep basic")
[arp release];
return 0;
}