199451b44SJordan Rupprecht#import <Foundation/Foundation.h> 299451b44SJordan Rupprecht 399451b44SJordan Rupprecht#if defined(__APPLE__) 499451b44SJordan Rupprecht#if defined(__arm__) || defined(__arm64__) || defined(__aarch64__) 599451b44SJordan Rupprecht#define IOS 699451b44SJordan Rupprecht#endif 799451b44SJordan Rupprecht#endif 899451b44SJordan Rupprecht 999451b44SJordan Rupprecht#if defined(IOS) 1099451b44SJordan Rupprecht#import <Foundation/NSGeometry.h> 1199451b44SJordan Rupprecht#else 1299451b44SJordan Rupprecht#import <Carbon/Carbon.h> 1399451b44SJordan Rupprecht#endif 1499451b44SJordan Rupprecht 1599451b44SJordan Rupprechtint main (int argc, const char * argv[]) 1699451b44SJordan Rupprecht{ 1799451b44SJordan Rupprecht 1899451b44SJordan Rupprecht NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 1999451b44SJordan Rupprecht 20*7b244258SRaphael Isemann NSString *empty = @""; 2199451b44SJordan Rupprecht NSString *str0 = [[NSNumber numberWithUnsignedLongLong:0xFF] stringValue]; 2299451b44SJordan Rupprecht NSString *str1 = [NSString stringWithCString:"A rather short ASCII NSString object is here" encoding:NSASCIIStringEncoding]; 2399451b44SJordan Rupprecht NSString *str2 = [NSString stringWithUTF8String:"A rather short UTF8 NSString object is here"]; 2499451b44SJordan Rupprecht NSString *str3 = @"A string made with the at sign is here"; 2599451b44SJordan Rupprecht NSString *str4 = [NSString stringWithFormat:@"This is string number %ld right here", (long)4]; 2699451b44SJordan Rupprecht NSRect ns_rect_4str = {{1,1},{5,5}}; 2799451b44SJordan Rupprecht NSString* str5 = NSStringFromRect(ns_rect_4str); 2899451b44SJordan Rupprecht NSString* str6 = [@"/usr/doc/README.1ST" pathExtension]; 2999451b44SJordan Rupprecht const unichar myCharacters[] = {0x03C3,'x','x'}; 3099451b44SJordan Rupprecht NSString *str7 = [NSString stringWithCharacters: myCharacters 3199451b44SJordan Rupprecht length: sizeof myCharacters / sizeof *myCharacters]; 3299451b44SJordan Rupprecht NSString* str8 = [@"/usr/doc/file.hasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTimehasVeryLongExtensionThisTime" pathExtension]; 3399451b44SJordan Rupprecht const unichar myOtherCharacters[] = {'a',' ', 'v','e','r','y',' ', 3499451b44SJordan Rupprecht 'm','u','c','h',' ','b','o','r','i','n','g',' ','t','a','s','k', 3599451b44SJordan Rupprecht ' ','t','o',' ','w','r','i','t','e', ' ', 'a', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 3699451b44SJordan Rupprecht 't','h','i','s',' ','w','a','y','!','!',0x03C3, 0}; 3799451b44SJordan Rupprecht NSString *str9 = [NSString stringWithCharacters: myOtherCharacters 3899451b44SJordan Rupprecht length: sizeof myOtherCharacters / sizeof *myOtherCharacters]; 3999451b44SJordan Rupprecht const unichar myNextCharacters[] = {0x03C3, 0x0000}; 4099451b44SJordan Rupprecht NSString *str10 = [NSString stringWithFormat:@"This is a Unicode string %S number %ld right here", myNextCharacters, (long)4]; 4199451b44SJordan Rupprecht NSString *str11 = NSStringFromClass([str10 class]); 4299451b44SJordan Rupprecht NSString *label1 = @"Process Name: "; 4399451b44SJordan Rupprecht NSString *label2 = @"Process Id: "; 4499451b44SJordan Rupprecht NSString *processName = [[NSProcessInfo processInfo] processName]; 4599451b44SJordan Rupprecht NSString *processID = [NSString stringWithFormat:@"%d", [[NSProcessInfo processInfo] processIdentifier]]; 4699451b44SJordan Rupprecht NSString *str12 = [NSString stringWithFormat:@"%@ %@ %@ %@", label1, processName, label2, processID]; 4799451b44SJordan Rupprecht NSString *eAcute = [NSString stringWithFormat: @"%C", 0x00E9]; 4899451b44SJordan Rupprecht NSString *randomHaziChar = [NSString stringWithFormat: @"%C", 0x9DC5]; 4999451b44SJordan Rupprecht NSString *japanese = @"色は匂へど散りぬるを"; 5099451b44SJordan Rupprecht NSString *italian = @"L'Italia è una Repubblica democratica, fondata sul lavoro. La sovranità appartiene al popolo, che la esercita nelle forme e nei limiti della Costituzione."; 5199451b44SJordan Rupprecht NSString* french = @"Que veut cette horde d'esclaves, De traîtres, de rois conjurés?"; 5299451b44SJordan Rupprecht NSString* german = @"Über-Ich und aus den Ansprüchen der sozialen Umwelt"; 5399451b44SJordan Rupprecht void* data_set[3] = {str1,str2,str3}; 5499451b44SJordan Rupprecht NSString *hebrew = [NSString stringWithString:@"לילה טוב"]; 5599451b44SJordan Rupprecht 5699451b44SJordan Rupprecht NSAttributedString* attrString = [[NSAttributedString alloc] initWithString:@"hello world from foo" attributes:[NSDictionary new]]; 5799451b44SJordan Rupprecht [attrString isEqual:nil]; 5899451b44SJordan Rupprecht NSAttributedString* mutableAttrString = [[NSMutableAttributedString alloc] initWithString:@"hello world from foo" attributes:[NSDictionary new]]; 5999451b44SJordan Rupprecht [mutableAttrString isEqual:nil]; 6099451b44SJordan Rupprecht 6199451b44SJordan Rupprecht NSString* mutableString = [[NSMutableString alloc] initWithString:@"foo"]; 6299451b44SJordan Rupprecht [mutableString insertString:@"foo said this string needs to be very long so much longer than whatever other string has been seen ever before by anyone of the mankind that of course this is still not long enough given what foo our friend foo our lovely dearly friend foo desired of us so i am adding more stuff here for the sake of it and for the joy of our friend who is named guess what just foo. hence, dear friend foo, stay safe, your string is now long enough to accommodate your testing need and I will make sure that if not we extend it with even more fuzzy random meaningless words pasted one after the other from a long tiresome friday evening spent working in my office. my office mate went home but I am still randomly typing just for the fun of seeing what happens of the length of a Mutable String in Cocoa if it goes beyond one byte.. so be it, dear " atIndex:0]; 6399451b44SJordan Rupprecht 6499451b44SJordan Rupprecht NSString* mutableGetConst = [NSString stringWithCString:[mutableString cString]]; 6599451b44SJordan Rupprecht 6699451b44SJordan Rupprecht [mutableGetConst length]; 6799451b44SJordan Rupprecht CFMutableStringRef mutable_string_ref = CFStringCreateMutable(NULL,100); 6899451b44SJordan Rupprecht CFStringAppend(mutable_string_ref, CFSTR("Wish ya knew")); 6999451b44SJordan Rupprecht CFStringRef cfstring_ref = CFSTR("HELLO WORLD"); 7099451b44SJordan Rupprecht 7199451b44SJordan Rupprecht NSArray *components = @[@"usr", @"blah", @"stuff"]; 7299451b44SJordan Rupprecht NSString *path = [NSString pathWithComponents: components]; 73*7b244258SRaphael Isemann NSString *empty_path = [empty stringByDeletingPathExtension]; 7499451b44SJordan Rupprecht 7599451b44SJordan Rupprecht const unichar someOfTheseAreNUL[] = {'a',' ', 'v','e','r','y',' ', 7699451b44SJordan Rupprecht 'm','u','c','h',' ','b','o','r','i','n','g',' ','t','a','s','k', 7799451b44SJordan Rupprecht ' ','t','o',' ','w','r','i','t','e', 0, 'a', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 7899451b44SJordan Rupprecht 't','h','i','s',' ','w','a','y','!','!', 0x03C3, 0}; 7999451b44SJordan Rupprecht NSString *strwithNULs = [NSString stringWithCharacters: someOfTheseAreNUL 8099451b44SJordan Rupprecht length: sizeof someOfTheseAreNUL / sizeof *someOfTheseAreNUL]; 8199451b44SJordan Rupprecht 8299451b44SJordan Rupprecht const unichar someOfTheseAreNUL2[] = {'a',' ', 'v','e','r','y',' ', 8399451b44SJordan Rupprecht 'm','u','c','h',' ','b','o','r','i','n','g',' ','t','a','s','k', 8499451b44SJordan Rupprecht ' ','t','o',' ','w','r','i','t','e', 0, 'a', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 8599451b44SJordan Rupprecht 't','h','i','s',' ','w','a','y','!','!'}; 8699451b44SJordan Rupprecht NSString *strwithNULs2 = [NSString stringWithCharacters: someOfTheseAreNUL2 8799451b44SJordan Rupprecht length: sizeof someOfTheseAreNUL2 / sizeof *someOfTheseAreNUL2]; 8899451b44SJordan Rupprecht 8999451b44SJordan Rupprecht [pool drain]; // break here 9099451b44SJordan Rupprecht return 0; 9199451b44SJordan Rupprecht} 9299451b44SJordan Rupprecht 93