1#import "ObjectTesting.h" 2#import <Foundation/NSAutoreleasePool.h> 3#import <Foundation/NSBundle.h> 4#import <Foundation/NSFileManager.h> 5#import <Foundation/NSString.h> 6 7int main() 8{ 9 NSAutoreleasePool *arp = [NSAutoreleasePool new]; 10 NSString *path; 11 NSBundle *bundle; 12 Class aClass; 13 id anObj; 14 15 path = RETAIN([[[[[NSFileManager defaultManager] currentDirectoryPath] 16 stringByDeletingLastPathComponent] 17 stringByAppendingPathComponent:@"Resources"] 18 stringByAppendingPathComponent: @"TestBundle.bundle"]); 19 20 bundle = RETAIN([NSBundle bundleWithPath: path]); 21 22 pass([bundle isKindOfClass:[NSBundle class]], 23 "+bundleWithPath returns a bundle"); 24 25 pass([[bundle bundlePath] testForString],"the bundle has a path"); 26 27 pass([path testEquals: [bundle bundlePath]], 28 "bundlePath returns the correct path"); 29 30 pass([[bundle resourcePath] testForString],"a bundle has a resource path"); 31 pass([[bundle infoDictionary] isKindOfClass:[NSDictionary class]], 32 "a bundle has an infoDictionary"); 33 34 pass([bundle load],"bundle -load returns YES"); 35 aClass = NSClassFromString(@"TestBundle"); 36 pass(aClass != Nil,"-load actually loaded the class"); 37 anObj = [aClass new]; 38 pass(anObj != nil, "we can instantiate a loaded class"); 39 pass([bundle principalClass] != nil, "-principalClass is not nil"); 40 pass([[[bundle principalClass] description] testEquals:@"TestBundle"], 41 "-principalClass works"); 42 pass([[bundle principalClass] new] != nil, "we can instantiate -principalClass"); 43 pass([[bundle classNamed:@"TestBundle"] testEquals:[bundle principalClass]], 44 "-classNamed works"); 45 pass([bundle testEquals: [NSBundle bundleForClass: NSClassFromString(@"TestBundle")]], 46 "+bundleForClass works"); 47 [bundle setBundleVersion:42]; 48 pass([bundle bundleVersion] == 42, "we can set and get a bundle version"); 49 pass([[NSBundle allBundles] containsObject:bundle], 50 "+allBundles contains a bundle after we loaded it"); 51 52 RELEASE(bundle); 53 RELEASE(path); 54 [arp release]; arp = nil; 55 return 0; 56} 57