diff --git a/ChangeLog b/ChangeLog index 455bed40f..5447f6059 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-10-15 Eric Wasylishen + + * Tests/base/NSArchiver/stringEncoding.m: add test for last commit + 2012-10-15 Eric Wasylishen * Source/NSPropertyList.m (-[GSBinaryPLGenerator storeString:): diff --git a/Tests/base/NSArchiver/eszett1.plist b/Tests/base/NSArchiver/eszett1.plist new file mode 100644 index 000000000..e49b5416e Binary files /dev/null and b/Tests/base/NSArchiver/eszett1.plist differ diff --git a/Tests/base/NSArchiver/eszett2.plist b/Tests/base/NSArchiver/eszett2.plist new file mode 100644 index 000000000..0ca3a7c9d Binary files /dev/null and b/Tests/base/NSArchiver/eszett2.plist differ diff --git a/Tests/base/NSArchiver/stringEncoding.m b/Tests/base/NSArchiver/stringEncoding.m new file mode 100644 index 000000000..063992408 --- /dev/null +++ b/Tests/base/NSArchiver/stringEncoding.m @@ -0,0 +1,37 @@ +#import +#import "Testing.h" +#import "ObjectTesting.h" + +int main(int argc, const char **argv) +{ + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + + const unichar EszettChar = 0x00df; + NSString *EszettStr = [[[NSString alloc] initWithCharacters: &EszettChar + length: 1] autorelease]; + + { + NSData *data = [NSKeyedArchiver archivedDataWithRootObject: EszettStr]; + NSString *unarchivedString = [NSKeyedUnarchiver unarchiveObjectWithData: data]; + + PASS([unarchivedString isEqual: EszettStr], + "'eszett' character roundtrip to binary plist seems to work."); + } + + { + NSString *plist1String = [NSKeyedUnarchiver unarchiveObjectWithFile: @"eszett1.plist"]; + + PASS([plist1String isEqual: EszettStr], + "'eszett' character read from OSX binary plist"); + } + + { + NSString *plist2String = [NSKeyedUnarchiver unarchiveObjectWithFile: @"eszett2.plist"]; + + PASS([plist2String isEqual: EszettStr], + "'eszett' character read from GNUstep binary plist"); + } + + [pool release]; + return 0; +}