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 Gnustep-cvs@gna.org https://mail.gna.org/listinfo/gnustep-cvs