blob: a8c39f1b7ae1f1549f795cc9dc2c523bd39b0aff [file] [log] [blame]
// This file is part of class-dump, a utility for examining the Objective-C segment of Mach-O files.
// Copyright (C) 1997-1998, 2000-2001, 2004-2010 Steve Nygard.
#import "CDPathUnitTest.h"
#import <Foundation/Foundation.h>
#import "CDClassDump.h"
@implementation CDPathUnitTest
- (void)setUp;
{
classDump = [[CDClassDump alloc] init];
}
- (void)tearDown;
{
[classDump release];
classDump = nil;
}
- (void)testPrivateSyncFramework;
{
NSString *path = @"/System/Library/PrivateFrameworks/SyndicationUI.framework";
NSBundle *bundle;
bundle = [NSBundle bundleWithPath:path];
STAssertNotNil(bundle, @"%@ doesn't seem to exist, we can remove this test now.", path);
if (bundle != nil) {
STAssertNil([bundle executablePath], @"This fails on 10.5. It's fixed if you see this! Executable path for %@", path);
//STAssertNotNil([bundle executablePath], @"This fails on 10.5. Executable path for %@", path);
}
}
- (void)testBundlePathWithoutTrailingSlash;
{
BOOL result;
result = [classDump processFilename:@"/System/Library/Frameworks/AppKit.framework"];
STAssertEquals(YES, result, @"Couldn't process AppKit.framework");
STAssertEqualObjects(@"/System/Library/Frameworks/AppKit.framework/Versions/C", [classDump executablePath], @"");
}
- (void)testBundlePathWithTrailingSlash;
{
BOOL result;
result = [classDump processFilename:@"/System/Library/Frameworks/AppKit.framework/"];
STAssertEquals(YES, result, @"Couldn't process AppKit.framework");
STAssertEqualObjects(@"/System/Library/Frameworks/AppKit.framework/Versions/C", [classDump executablePath], @"");
}
- (void)testExecutableSymlinkPath;
{
BOOL result;
result = [classDump processFilename:@"/System/Library/Frameworks/AppKit.framework/AppKit"];
STAssertEquals(YES, result, @"Couldn't process AppKit.framework");
STAssertEqualObjects(@"/System/Library/Frameworks/AppKit.framework/Versions/C", [classDump executablePath], @"");
}
- (void)testExecutableFullPath;
{
BOOL result;
result = [classDump processFilename:@"/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit"];
STAssertEquals(YES, result, @"Couldn't process AppKit.framework");
STAssertEqualObjects(@"/System/Library/Frameworks/AppKit.framework/Versions/C", [classDump executablePath], @"");
}
@end