diff --git a/Testing/testpb.m b/Testing/testpb.m new file mode 100755 index 000000000..5874a2e55 --- /dev/null +++ b/Testing/testpb.m @@ -0,0 +1,51 @@ +#include +#include +#include + +@interface pbOwner : NSObject +{ +} +- (void) pasteboard: (NSPasteboard*)pb provideDataForType: (NSString*)type; +@end + +@implementation pbOwner +- (void) pasteboard: (NSPasteboard*)pb provideDataForType: (NSString*)type +{ + if ([type isEqual: NSFileContentsPboardType]) { + NSString* s = [pb stringForType: NSStringPboardType]; + + if (s) { + const char* ptr; + int len; + NSData* d; + + ptr = [s cStringNoCopy]; + len = strlen(ptr); + d = [NSData dataWithBytes: ptr length: len]; + [pb setData: d forType: type]; + } + } +} +@end + +int +main(int argc, char** argv) +{ + pbOwner *owner = [pbOwner new]; + NSPasteboard *pb; + NSArray *types; + NSData *d; + + [NSObject enableDoubleReleaseCheck: YES]; + + types = [NSArray arrayWithObjects: + NSStringPboardType, NSFileContentsPboardType, nil]; + pb = [NSPasteboard generalPasteboard]; + [pb declareTypes: types owner: owner]; + [pb setString: @"This is a test" forType: NSStringPboardType]; + d = [pb dataForType: NSFileContentsPboardType]; + printf("%.*s\n", [d length], [d bytes]); + exit(0); +} + +