ADD: added new version of protobuf
This commit is contained in:
@@ -41,9 +41,9 @@
|
||||
#import "GPBMessage.h"
|
||||
#import "GPBUnknownField_PackagePrivate.h"
|
||||
|
||||
#import "objectivec/Tests/MapUnittest.pbobjc.h"
|
||||
#import "objectivec/Tests/Unittest.pbobjc.h"
|
||||
#import "objectivec/Tests/UnittestObjc.pbobjc.h"
|
||||
#import "google/protobuf/MapUnittest.pbobjc.h"
|
||||
#import "google/protobuf/Unittest.pbobjc.h"
|
||||
#import "google/protobuf/UnittestObjc.pbobjc.h"
|
||||
|
||||
@interface UtilitiesTests : GPBTestCase
|
||||
@end
|
||||
@@ -62,7 +62,6 @@
|
||||
|
||||
- (void)testGPBDecodeTextFormatName {
|
||||
uint8_t decodeData[] = {
|
||||
// clang-format off
|
||||
0x6,
|
||||
// An inlined string (first to make sure the leading null is handled
|
||||
// correctly, and with a key of zero to check that).
|
||||
@@ -81,7 +80,6 @@
|
||||
// underscore, lower + 30 (01 op), as is + 30 (00 op), as is + 13 (00 op),
|
||||
// underscore, as is + 3 (00 op)
|
||||
0xE8, 0x07, 0x04, 0xA5, 0xA4, 0xA2, 0xBF, 0x1F, 0x0E, 0x84, 0x0,
|
||||
// clang-format on
|
||||
};
|
||||
NSString *inputStr = @"abcdefghIJ";
|
||||
|
||||
@@ -106,12 +104,10 @@
|
||||
// An inlined string (and key of zero).
|
||||
XCTAssertEqualObjects(GPBDecodeTextFormatName(decodeData, 0, inputStr), @"zbcdefghIJ");
|
||||
|
||||
// clang-format off
|
||||
// Long name so multiple decode ops are needed.
|
||||
inputStr = @"longFieldNameIsLooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong1000";
|
||||
XCTAssertEqualObjects(GPBDecodeTextFormatName(decodeData, 1000, inputStr),
|
||||
@"long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_1000");
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
- (void)testTextFormat {
|
||||
@@ -125,8 +121,10 @@
|
||||
|
||||
NSString *fileName = @"text_format_unittest_data.txt";
|
||||
NSData *resultData = [result dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSData *expectedData = [self getDataFileNamed:fileName dataToWrite:resultData];
|
||||
NSString *expected = [[NSString alloc] initWithData:expectedData encoding:NSUTF8StringEncoding];
|
||||
NSData *expectedData =
|
||||
[self getDataFileNamed:fileName dataToWrite:resultData];
|
||||
NSString *expected = [[NSString alloc] initWithData:expectedData
|
||||
encoding:NSUTF8StringEncoding];
|
||||
XCTAssertEqualObjects(expected, result);
|
||||
[expected release];
|
||||
}
|
||||
@@ -143,14 +141,12 @@
|
||||
message.subEnum = self_autorelease_RetainCount;
|
||||
message.new_p.copy_p = @"foo";
|
||||
|
||||
// clang-format off
|
||||
NSString *expected = @"_cmd: true\n"
|
||||
@"isProxy: true\n"
|
||||
@"SubEnum: retainCount\n"
|
||||
@"New {\n"
|
||||
@" copy: \"foo\"\n"
|
||||
@"}\n";
|
||||
// clang-format on
|
||||
NSString *result = GPBTextFormatForMessage(message, nil);
|
||||
XCTAssertEqualObjects(expected, result);
|
||||
}
|
||||
@@ -165,8 +161,10 @@
|
||||
|
||||
NSString *fileName = @"text_format_map_unittest_data.txt";
|
||||
NSData *resultData = [result dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSData *expectedData = [self getDataFileNamed:fileName dataToWrite:resultData];
|
||||
NSString *expected = [[NSString alloc] initWithData:expectedData encoding:NSUTF8StringEncoding];
|
||||
NSData *expectedData =
|
||||
[self getDataFileNamed:fileName dataToWrite:resultData];
|
||||
NSString *expected = [[NSString alloc] initWithData:expectedData
|
||||
encoding:NSUTF8StringEncoding];
|
||||
XCTAssertEqualObjects(expected, result);
|
||||
[expected release];
|
||||
}
|
||||
@@ -185,8 +183,10 @@
|
||||
// of the bracketed extension name.
|
||||
NSString *fileName = @"text_format_extensions_unittest_data.txt";
|
||||
NSData *resultData = [result dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSData *expectedData = [self getDataFileNamed:fileName dataToWrite:resultData];
|
||||
NSString *expected = [[NSString alloc] initWithData:expectedData encoding:NSUTF8StringEncoding];
|
||||
NSData *expectedData =
|
||||
[self getDataFileNamed:fileName dataToWrite:resultData];
|
||||
NSString *expected = [[NSString alloc] initWithData:expectedData
|
||||
encoding:NSUTF8StringEncoding];
|
||||
XCTAssertEqualObjects(expected, result);
|
||||
[expected release];
|
||||
}
|
||||
@@ -195,7 +195,7 @@
|
||||
TestAllTypes *message = [TestAllTypes message];
|
||||
|
||||
NSDictionary *repeatedFieldValues = @{
|
||||
@"repeatedStringArray" : [@[ @"foo", @"bar" ] mutableCopy],
|
||||
@"repeatedStringArray" : [@[@"foo", @"bar"] mutableCopy],
|
||||
@"repeatedBoolArray" : [GPBBoolArray arrayWithValue:YES],
|
||||
@"repeatedInt32Array" : [GPBInt32Array arrayWithValue:14],
|
||||
@"repeatedInt64Array" : [GPBInt64Array arrayWithValue:15],
|
||||
@@ -208,19 +208,23 @@
|
||||
rawValue:TestAllTypes_NestedEnum_Foo],
|
||||
};
|
||||
for (NSString *fieldName in repeatedFieldValues) {
|
||||
GPBFieldDescriptor *field = [message.descriptor fieldWithName:fieldName];
|
||||
GPBFieldDescriptor *field =
|
||||
[message.descriptor fieldWithName:fieldName];
|
||||
XCTAssertNotNil(field, @"No field with name: %@", fieldName);
|
||||
id expectedValues = repeatedFieldValues[fieldName];
|
||||
GPBSetMessageRepeatedField(message, field, expectedValues);
|
||||
XCTAssertEqualObjects(expectedValues, [message valueForKeyPath:fieldName]);
|
||||
XCTAssertEqualObjects(expectedValues,
|
||||
[message valueForKeyPath:fieldName]);
|
||||
}
|
||||
}
|
||||
|
||||
// Helper to make an unknown field set with something in it.
|
||||
static GPBUnknownFieldSet *UnknownFieldsSetHelper(int num) {
|
||||
GPBUnknownFieldSet *result = [[[GPBUnknownFieldSet alloc] init] autorelease];
|
||||
GPBUnknownFieldSet *result =
|
||||
[[[GPBUnknownFieldSet alloc] init] autorelease];
|
||||
|
||||
GPBUnknownField *field = [[[GPBUnknownField alloc] initWithNumber:num] autorelease];
|
||||
GPBUnknownField *field =
|
||||
[[[GPBUnknownField alloc] initWithNumber:num] autorelease];
|
||||
[field addVarint:num];
|
||||
[result addField:field];
|
||||
|
||||
@@ -242,26 +246,32 @@ static GPBUnknownFieldSet *UnknownFieldsSetHelper(int num) {
|
||||
OptionalGroup_extension *optionalGroup = [OptionalGroup_extension message];
|
||||
optionalGroup.a = 123;
|
||||
optionalGroup.unknownFields = UnknownFieldsSetHelper(779);
|
||||
[message setExtension:[UnittestRoot optionalGroupExtension] value:optionalGroup];
|
||||
[message setExtension:[UnittestRoot optionalGroupExtension]
|
||||
value:optionalGroup];
|
||||
|
||||
// Message
|
||||
TestAllTypes_NestedMessage *nestedMessage = [TestAllTypes_NestedMessage message];
|
||||
TestAllTypes_NestedMessage *nestedMessage =
|
||||
[TestAllTypes_NestedMessage message];
|
||||
nestedMessage.bb = 456;
|
||||
nestedMessage.unknownFields = UnknownFieldsSetHelper(778);
|
||||
[message setExtension:[UnittestRoot optionalNestedMessageExtension] value:nestedMessage];
|
||||
[message setExtension:[UnittestRoot optionalNestedMessageExtension]
|
||||
value:nestedMessage];
|
||||
|
||||
// Repeated Group
|
||||
RepeatedGroup_extension *repeatedGroup = [[RepeatedGroup_extension alloc] init];
|
||||
RepeatedGroup_extension *repeatedGroup =
|
||||
[[RepeatedGroup_extension alloc] init];
|
||||
repeatedGroup.a = 567;
|
||||
repeatedGroup.unknownFields = UnknownFieldsSetHelper(780);
|
||||
[message addExtension:[UnittestRoot repeatedGroupExtension] value:repeatedGroup];
|
||||
[message addExtension:[UnittestRoot repeatedGroupExtension]
|
||||
value:repeatedGroup];
|
||||
[repeatedGroup release];
|
||||
|
||||
// Repeated Message
|
||||
nestedMessage = [[TestAllTypes_NestedMessage alloc] init];
|
||||
nestedMessage.bb = 678;
|
||||
nestedMessage.unknownFields = UnknownFieldsSetHelper(781);
|
||||
[message addExtension:[UnittestRoot repeatedNestedMessageExtension] value:nestedMessage];
|
||||
[message addExtension:[UnittestRoot repeatedNestedMessageExtension]
|
||||
value:nestedMessage];
|
||||
[nestedMessage release];
|
||||
}
|
||||
|
||||
@@ -301,8 +311,7 @@ static GPBUnknownFieldSet *UnknownFieldsSetHelper(int num) {
|
||||
|
||||
{
|
||||
XCTAssertTrue([message hasExtension:[UnittestRoot repeatedNestedMessageExtension]]);
|
||||
NSArray *repeatedNestedMessages =
|
||||
[message getExtension:[UnittestRoot repeatedNestedMessageExtension]];
|
||||
NSArray *repeatedNestedMessages = [message getExtension:[UnittestRoot repeatedNestedMessageExtension]];
|
||||
XCTAssertEqual(repeatedNestedMessages.count, (NSUInteger)1);
|
||||
TestAllTypes_NestedMessage *repeatedNestedMessage = repeatedNestedMessages.firstObject;
|
||||
XCTAssertNotNil(repeatedNestedMessage);
|
||||
@@ -349,14 +358,14 @@ static GPBUnknownFieldSet *UnknownFieldsSetHelper(int num) {
|
||||
|
||||
{
|
||||
XCTAssertTrue([message hasExtension:[UnittestRoot repeatedNestedMessageExtension]]);
|
||||
NSArray *repeatedNestedMessages =
|
||||
[message getExtension:[UnittestRoot repeatedNestedMessageExtension]];
|
||||
NSArray *repeatedNestedMessages = [message getExtension:[UnittestRoot repeatedNestedMessageExtension]];
|
||||
XCTAssertEqual(repeatedNestedMessages.count, (NSUInteger)1);
|
||||
TestAllTypes_NestedMessage *repeatedNestedMessage = repeatedNestedMessages.firstObject;
|
||||
XCTAssertNotNil(repeatedNestedMessage);
|
||||
XCTAssertEqual(repeatedNestedMessage.bb, 678);
|
||||
XCTAssertNil(repeatedNestedMessage.unknownFields);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (void)testDropMessageUnknownFieldsRecursively_Maps {
|
||||
@@ -405,6 +414,7 @@ static GPBUnknownFieldSet *UnknownFieldsSetHelper(int num) {
|
||||
XCTAssertNotNil(foreignMessage);
|
||||
XCTAssertNil(foreignMessage.unknownFields);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user