mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 14:46:12 -04:00
fix a base85 bug on iOS
PiperOrigin-RevId: 731849590
This commit is contained in:
committed by
Copybara-Service
parent
37538b817e
commit
528c71490c
@@ -67,7 +67,8 @@ std::string Base85Encode(const std::string& input, bool padding) {
|
||||
char* result_buffer_end = result.data() + result.size();
|
||||
|
||||
size_t bytes = input.size();
|
||||
const char* data = input.data();
|
||||
const unsigned char* data =
|
||||
reinterpret_cast<const unsigned char*>(input.data());
|
||||
while (bytes) {
|
||||
int count;
|
||||
uint32_t value = 0;
|
||||
|
||||
@@ -43,6 +43,18 @@
|
||||
XCTAssertEqualObjects(decodedData, data);
|
||||
}
|
||||
|
||||
- (void)testEncodingAndDecoding {
|
||||
unsigned char hexBytes[] = {0x20, 0x25, 0xdf, 0x06, 0x24, 0x00, 0x11, 0x88, 0x07,
|
||||
0xda, 0x54, 0x65, 0x73, 0x74, 0x20, 0x64, 0x65};
|
||||
|
||||
NSUInteger length = sizeof(hexBytes) / sizeof(hexBytes[0]);
|
||||
|
||||
NSData *data = [NSData dataWithBytes:hexBytes length:length];
|
||||
NSString *actual = [data base85EncodedString];
|
||||
XCTAssertEqualObjects(actual, @"+=5nL,QJF4#MN-gF*&O8AH");
|
||||
XCTAssertEqualObjects([[NSData alloc] initWithBase85EncodedString:actual], data);
|
||||
}
|
||||
|
||||
- (void)testEncodingEmptyData {
|
||||
XCTAssertEqualObjects([[@"" dataUsingEncoding:NSUTF8StringEncoding] base85EncodedString], @"");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user