Author: rmottola
Date: Sun Jun 14 19:34:18 2015
New Revision: 38635
URL: http://svn.gna.org/viewcvs/gnustep?rev=38635&view=rev
Log:
some base64 tests
Modified:
libs/base/trunk/Tests/base/NSData/base64.m
Modified: libs/base/trunk/Tests/base/NSData/base64.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Tests/base/NSData/base64.m?rev=38635&r1=38634&r2=38635&view=diff
==============================================================================
--- libs/base/trunk/Tests/base/NSData/base64.m (original)
+++ libs/base/trunk/Tests/base/NSData/base64.m Sun Jun 14 19:34:18 2015
@@ -7,6 +7,9 @@
NSAutoreleasePool *arp = [NSAutoreleasePool new];
NSData *data;
NSData *ref;
+ NSString *str1;
+ NSString *str2;
+ NSString *strEnc;
PASS_EXCEPTION([[NSData alloc] initWithBase64EncodedString: nil options: 0],
NSInvalidArgumentException, "nil argument causes exception");
@@ -73,6 +76,46 @@
PASS_EQUAL(data, ref, "base64 decoding vector 8")
[data release];
+ str1 = @"In principio creavit Deus caelum et terram.\nTerra autem erat
inanis et vacua, et tenebrae super faciem abyssi, et spiritus Dei ferebatur
super aquas.\nDixitque Deus: \"Fiat lux\". Et facta est lux.";
+ data = [str1 dataUsingEncoding:NSASCIIStringEncoding];
+ strEnc = [data base64EncodedStringWithOptions:0];
+ data = [[NSData alloc] initWithBase64EncodedString:strEnc options: 0];
+ str2 = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
+ PASS_EQUAL(str1, str2, "Encode / Decode no lines")
+ [str2 release];
+
+ str1 = @"In principio creavit Deus caelum et terram.\nTerra autem erat
inanis et vacua, et tenebrae super faciem abyssi, et spiritus Dei ferebatur
super aquas.\nDixitque Deus: \"Fiat lux\". Et facta est lux.";
+ data = [str1 dataUsingEncoding:NSASCIIStringEncoding];
+ strEnc = [data
base64EncodedStringWithOptions:(NSDataBase64Encoding64CharacterLineLength |
NSDataBase64EncodingEndLineWithLineFeed)];
+ data = [[NSData alloc] initWithBase64EncodedString:strEnc options: 0];
+ str2 = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
+ PASS_EQUAL(str1, str2, "Encode / Decode 64 - LF")
+ [str2 release];
+
+ str1 = @"In principio creavit Deus caelum et terram.\nTerra autem erat
inanis et vacua, et tenebrae super faciem abyssi, et spiritus Dei ferebatur
super aquas.\nDixitque Deus: \"Fiat lux\". Et facta est lux.";
+ data = [str1 dataUsingEncoding:NSASCIIStringEncoding];
+ strEnc = [data
base64EncodedStringWithOptions:(NSDataBase64Encoding76CharacterLineLength |
NSDataBase64EncodingEndLineWithLineFeed)];
+ data = [[NSData alloc] initWithBase64EncodedString:strEnc options: 0];
+ str2 = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
+ PASS_EQUAL(str1, str2, "Encode / Decode 76 - LF")
+ [str2 release];
+
+ str1 = @"In principio creavit Deus caelum et terram.\nTerra autem erat
inanis et vacua, et tenebrae super faciem abyssi, et spiritus Dei ferebatur
super aquas.\nDixitque Deus: \"Fiat lux\". Et facta est lux.";
+ data = [str1 dataUsingEncoding:NSASCIIStringEncoding];
+ strEnc = [data
base64EncodedStringWithOptions:(NSDataBase64Encoding64CharacterLineLength |
NSDataBase64EncodingEndLineWithCarriageReturn)];
+ data = [[NSData alloc] initWithBase64EncodedString:strEnc options:0];
+ str2 = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
+ PASS_EQUAL(str1, str2, "Encode / Decode 64 - CR")
+ [str2 release];
+
+ str1 = @"In principio creavit Deus caelum et terram.\nTerra autem erat
inanis et vacua, et tenebrae super faciem abyssi, et spiritus Dei ferebatur
super aquas.\nDixitque Deus: \"Fiat lux\". Et facta est lux.";
+ data = [str1 dataUsingEncoding:NSASCIIStringEncoding];
+ strEnc = [data
base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
+ data = [[NSData alloc] initWithBase64EncodedString:strEnc options:0];
+ str2 = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
+ PASS_EQUAL(str1, str2, "Encode / Decode 64 - implicit CR LF")
+ [str2 release];
+
[arp release]; arp = nil;
return 0;
}
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs