Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc

Issue 2590803003: Revert "third_party/protobuf: Update to HEAD (83d681ee2c)" (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc
diff --git a/third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc b/third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc
index a9b15e68a858443cbcbbc8ca6881cfbc8e73dc0f..9a0dcde1c4d1de29f19fb18948adc3d3c1c35fa9 100644
--- a/third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc
+++ b/third_party/protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc
@@ -41,20 +41,18 @@
#include <google/protobuf/dynamic_message.h>
#include <google/protobuf/message.h>
#include <google/protobuf/util/internal/mock_error_listener.h>
-#include <google/protobuf/util/internal/testdata/anys.pb.h>
#include <google/protobuf/util/internal/testdata/books.pb.h>
#include <google/protobuf/util/internal/testdata/field_mask.pb.h>
-#include <google/protobuf/util/internal/testdata/maps.pb.h>
-#include <google/protobuf/util/internal/testdata/oneofs.pb.h>
-#include <google/protobuf/util/internal/testdata/proto3.pb.h>
-#include <google/protobuf/util/internal/testdata/struct.pb.h>
-#include <google/protobuf/util/internal/testdata/timestamp_duration.pb.h>
-#include <google/protobuf/util/internal/testdata/wrappers.pb.h>
#include <google/protobuf/util/internal/type_info_test_helper.h>
#include <google/protobuf/util/internal/constants.h>
#include <google/protobuf/util/message_differencer.h>
#include <google/protobuf/stubs/bytestream.h>
#include <google/protobuf/stubs/strutil.h>
+#include <google/protobuf/util/internal/testdata/anys.pb.h>
+#include <google/protobuf/util/internal/testdata/maps.pb.h>
+#include <google/protobuf/util/internal/testdata/oneofs.pb.h>
+#include <google/protobuf/util/internal/testdata/struct.pb.h>
+#include <google/protobuf/util/internal/testdata/timestamp_duration.pb.h>
#include <gtest/gtest.h>
@@ -63,28 +61,27 @@ namespace protobuf {
namespace util {
namespace converter {
-using google::protobuf::testing::AnyM;
-using google::protobuf::testing::AnyOut;
using google::protobuf::testing::Author;
using google::protobuf::testing::Book;
-using google::protobuf::testing::FieldMaskTest;
-using google::protobuf::testing::Int32Wrapper;
-using google::protobuf::testing::MapIn;
+using google::protobuf::testing::Book_Data;
using google::protobuf::testing::Primitive;
-using google::protobuf::testing::Proto3Message;
using google::protobuf::testing::Publisher;
-using google::protobuf::testing::StructType;
-using google::protobuf::testing::TimestampDuration;
-using google::protobuf::testing::ValueWrapper;
-using google::protobuf::testing::oneofs::OneOfsRequest;
using google::protobuf::Descriptor;
using google::protobuf::DescriptorPool;
using google::protobuf::DynamicMessageFactory;
using google::protobuf::FileDescriptorProto;
using google::protobuf::Message;
+using google::protobuf::io::ArrayInputStream;
using strings::GrowingArrayByteSink;
using ::testing::_;
using ::testing::Args;
+using google::protobuf::testing::anys::AnyM;
+using google::protobuf::testing::anys::AnyOut;
+using google::protobuf::testing::oneofs::OneOfsRequest;
+using google::protobuf::testing::FieldMaskTest;
+using google::protobuf::testing::maps::MapIn;
+using google::protobuf::testing::structs::StructType;
+using google::protobuf::testing::timestampduration::TimestampDuration;
namespace {
@@ -113,13 +110,13 @@ class BaseProtoStreamObjectWriterTest
listener_(),
output_(new GrowingArrayByteSink(1000)),
ow_() {
- std::vector<const Descriptor*> descriptors;
+ vector<const Descriptor*> descriptors;
descriptors.push_back(descriptor);
ResetTypeInfo(descriptors);
}
explicit BaseProtoStreamObjectWriterTest(
- std::vector<const Descriptor*> descriptors)
+ vector<const Descriptor*> descriptors)
: helper_(GetParam()),
listener_(),
output_(new GrowingArrayByteSink(1000)),
@@ -127,7 +124,7 @@ class BaseProtoStreamObjectWriterTest
ResetTypeInfo(descriptors);
}
- void ResetTypeInfo(std::vector<const Descriptor*> descriptors) {
+ void ResetTypeInfo(vector<const Descriptor*> descriptors) {
GOOGLE_CHECK(!descriptors.empty()) << "Must have at least one descriptor!";
helper_.ResetTypeInfo(descriptors);
ow_.reset(helper_.NewProtoWriter(GetTypeUrl(descriptors[0]), output_.get(),
@@ -135,7 +132,7 @@ class BaseProtoStreamObjectWriterTest
}
void ResetTypeInfo(const Descriptor* descriptor) {
- std::vector<const Descriptor*> descriptors;
+ vector<const Descriptor*> descriptors;
descriptors.push_back(descriptor);
ResetTypeInfo(descriptors);
}
@@ -186,10 +183,6 @@ class ProtoStreamObjectWriterTest : public BaseProtoStreamObjectWriterTest {
ProtoStreamObjectWriterTest()
: BaseProtoStreamObjectWriterTest(Book::descriptor()) {}
- void ResetProtoWriter() {
- ResetTypeInfo(Book::descriptor());
- }
-
virtual ~ProtoStreamObjectWriterTest() {}
};
@@ -271,84 +264,6 @@ TEST_P(ProtoStreamObjectWriterTest, CustomJsonName) {
CheckOutput(book);
}
-TEST_P(ProtoStreamObjectWriterTest, IntEnumValuesAreAccepted) {
- Book book;
- book.set_title("Some Book");
- book.set_type(google::protobuf::testing::Book_Type_KIDS);
- Author* robert = book.mutable_author();
- robert->set_name("robert");
-
- ow_->StartObject("")
- ->RenderString("title", "Some Book")
- ->RenderString("type", "2")
- ->StartObject("author")
- ->RenderString("name", "robert")
- ->EndObject()
- ->EndObject();
- CheckOutput(book);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, EnumValuesWithoutUnderscoreAreAccepted) {
- Book book;
- book.set_title("Some Book");
- book.set_type(google::protobuf::testing::Book_Type_ACTION_AND_ADVENTURE);
- Author* robert = book.mutable_author();
- robert->set_name("robert");
-
- options_.use_lower_camel_for_enums = true;
- ResetProtoWriter();
-
- ow_->StartObject("")
- ->RenderString("title", "Some Book")
- ->RenderString("type", "ACTIONANDADVENTURE")
- ->StartObject("author")
- ->RenderString("name", "robert")
- ->EndObject()
- ->EndObject();
- CheckOutput(book);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, EnumValuesInCamelCaseAreAccepted) {
- Book book;
- book.set_title("Some Book");
- book.set_type(google::protobuf::testing::Book_Type_ACTION_AND_ADVENTURE);
- Author* robert = book.mutable_author();
- robert->set_name("robert");
-
- options_.use_lower_camel_for_enums = true;
- ResetProtoWriter();
-
- ow_->StartObject("")
- ->RenderString("title", "Some Book")
- ->RenderString("type", "actionAndAdventure")
- ->StartObject("author")
- ->RenderString("name", "robert")
- ->EndObject()
- ->EndObject();
- CheckOutput(book);
-}
-
-TEST_P(ProtoStreamObjectWriterTest,
- EnumValuesInCamelCaseWithNameNotUppercaseAreAccepted) {
- Book book;
- book.set_title("Some Book");
- book.set_type(google::protobuf::testing::Book_Type_arts_and_photography);
- Author* robert = book.mutable_author();
- robert->set_name("robert");
-
- options_.use_lower_camel_for_enums = true;
- ResetProtoWriter();
-
- ow_->StartObject("")
- ->RenderString("title", "Some Book")
- ->RenderString("type", "artsAndPhotography")
- ->StartObject("author")
- ->RenderString("name", "robert")
- ->EndObject()
- ->EndObject();
- CheckOutput(book);
-}
-
TEST_P(ProtoStreamObjectWriterTest, PrimitiveFromStringConversion) {
Primitive full;
full.set_fix32(101);
@@ -794,132 +709,6 @@ TEST_P(ProtoStreamObjectWriterTest, UnknownListAtPublisher) {
CheckOutput(expected);
}
-TEST_P(ProtoStreamObjectWriterTest, IgnoreUnknownFieldAtRoot) {
- Book empty;
-
- options_.ignore_unknown_fields = true;
- ResetProtoWriter();
-
- EXPECT_CALL(listener_, InvalidName(_, _, _)).Times(0);
- ow_->StartObject("")->RenderString("unknown", "Nope!")->EndObject();
- CheckOutput(empty, 0);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, IgnoreUnknownFieldAtAuthorFriend) {
- Book expected;
- Author* paul = expected.mutable_author();
- paul->set_name("Paul");
- Author* mark = paul->add_friend_();
- mark->set_name("Mark");
- Author* john = paul->add_friend_();
- john->set_name("John");
- Author* luke = paul->add_friend_();
- luke->set_name("Luke");
-
- options_.ignore_unknown_fields = true;
- ResetProtoWriter();
-
- EXPECT_CALL(listener_, InvalidName(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("author")
- ->RenderString("name", "Paul")
- ->StartList("friend")
- ->StartObject("")
- ->RenderString("name", "Mark")
- ->EndObject()
- ->StartObject("")
- ->RenderString("name", "John")
- ->RenderString("address", "Patmos")
- ->EndObject()
- ->StartObject("")
- ->RenderString("name", "Luke")
- ->EndObject()
- ->EndList()
- ->EndObject()
- ->EndObject();
- CheckOutput(expected);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, IgnoreUnknownObjectAtRoot) {
- Book empty;
-
- options_.ignore_unknown_fields = true;
- ResetProtoWriter();
-
- EXPECT_CALL(listener_, InvalidName(_, StringPiece("unknown"),
- StringPiece("Cannot find field.")))
- .Times(0);
- ow_->StartObject("")->StartObject("unknown")->EndObject()->EndObject();
- CheckOutput(empty, 0);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, IgnoreUnknownObjectAtAuthor) {
- Book expected;
- Author* author = expected.mutable_author();
- author->set_name("William");
- author->add_pseudonym("Bill");
-
- options_.ignore_unknown_fields = true;
- ResetProtoWriter();
-
- EXPECT_CALL(listener_, InvalidName(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("author")
- ->RenderString("name", "William")
- ->StartObject("wife")
- ->RenderString("name", "Hilary")
- ->EndObject()
- ->RenderString("pseudonym", "Bill")
- ->EndObject()
- ->EndObject();
- CheckOutput(expected);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, IgnoreUnknownListAtRoot) {
- Book empty;
-
- options_.ignore_unknown_fields = true;
- ResetProtoWriter();
-
- EXPECT_CALL(listener_, InvalidName(_, _, _)).Times(0);
- ow_->StartObject("")->StartList("unknown")->EndList()->EndObject();
- CheckOutput(empty, 0);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, IgnoreUnknownListAtPublisher) {
- Book expected;
- expected.set_title("Brainwashing");
- Publisher* publisher = expected.mutable_publisher();
- publisher->set_name("propaganda");
-
- options_.ignore_unknown_fields = true;
- ResetProtoWriter();
-
- EXPECT_CALL(listener_, InvalidName(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("publisher")
- ->RenderString("name", "propaganda")
- ->StartList("alliance")
- ->EndList()
- ->EndObject()
- ->RenderString("title", "Brainwashing")
- ->EndObject();
- CheckOutput(expected);
-}
-
-TEST_P(ProtoStreamObjectWriterTest, AcceptUnknownEnumValue) {
- ResetTypeInfo(Proto3Message::descriptor());
-
- Proto3Message expected;
- expected.set_enum_value(static_cast<Proto3Message::NestedEnum>(12345));
-
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")
- ->RenderInt32("enumValue", 12345)
- ->EndObject();
- CheckOutput(expected);
-}
-
TEST_P(ProtoStreamObjectWriterTest, MissingRequiredField) {
Book expected;
expected.set_title("My Title");
@@ -1078,7 +867,7 @@ class ProtoStreamObjectWriterTimestampDurationTest
: public BaseProtoStreamObjectWriterTest {
protected:
ProtoStreamObjectWriterTimestampDurationTest() {
- std::vector<const Descriptor*> descriptors;
+ vector<const Descriptor*> descriptors;
descriptors.push_back(TimestampDuration::descriptor());
descriptors.push_back(google::protobuf::Timestamp::descriptor());
descriptors.push_back(google::protobuf::Duration::descriptor());
@@ -1432,9 +1221,9 @@ TEST_P(ProtoStreamObjectWriterTimestampDurationTest,
InvalidValue(
_, StringPiece("type.googleapis.com/google.protobuf.Timestamp"),
StringPiece(
- "Field 'ts', Invalid data type for timestamp, value is 1")))
+ "Field 'ts', Invalid data type for timestamp, value is null")))
.With(Args<0>(HasObjectLocation("ts")));
- ow_->StartObject("")->RenderInt32("ts", 1)->EndObject();
+ ow_->StartObject("")->RenderNull("ts")->EndObject();
CheckOutput(timestamp);
}
@@ -1446,22 +1235,8 @@ TEST_P(ProtoStreamObjectWriterTimestampDurationTest,
InvalidValue(
_, StringPiece("type.googleapis.com/google.protobuf.Duration"),
StringPiece(
- "Field 'dur', Invalid data type for duration, value is 1")))
+ "Field 'dur', Invalid data type for duration, value is null")))
.With(Args<0>(HasObjectLocation("dur")));
- ow_->StartObject("")->RenderInt32("dur", 1)->EndObject();
- CheckOutput(duration);
-}
-
-TEST_P(ProtoStreamObjectWriterTimestampDurationTest, TimestampAcceptsNull) {
- TimestampDuration timestamp;
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")->RenderNull("ts")->EndObject();
- CheckOutput(timestamp);
-}
-
-TEST_P(ProtoStreamObjectWriterTimestampDurationTest, DurationAcceptsNull) {
- TimestampDuration duration;
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
ow_->StartObject("")->RenderNull("dur")->EndObject();
CheckOutput(duration);
}
@@ -1473,7 +1248,7 @@ class ProtoStreamObjectWriterStructTest
// Resets ProtoWriter with current set of options and other state.
void ResetProtoWriter() {
- std::vector<const Descriptor*> descriptors;
+ vector<const Descriptor*> descriptors;
descriptors.push_back(StructType::descriptor());
descriptors.push_back(google::protobuf::Struct::descriptor());
ResetTypeInfo(descriptors);
@@ -1523,28 +1298,6 @@ TEST_P(ProtoStreamObjectWriterStructTest, StructInvalidInputFailure) {
CheckOutput(struct_type);
}
-TEST_P(ProtoStreamObjectWriterStructTest, StructAcceptsNull) {
- StructType struct_type;
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
-
- ow_->StartObject("")->RenderNull("object")->EndObject();
- CheckOutput(struct_type);
-}
-
-TEST_P(ProtoStreamObjectWriterStructTest, StructValuePreservesNull) {
- StructType struct_type;
- (*struct_type.mutable_object()->mutable_fields())["key"].set_null_value(
- google::protobuf::NULL_VALUE);
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
-
- ow_->StartObject("")
- ->StartObject("object")
- ->RenderNull("key")
- ->EndObject()
- ->EndObject();
- CheckOutput(struct_type);
-}
-
TEST_P(ProtoStreamObjectWriterStructTest, SimpleRepeatedStructMapKeyTest) {
EXPECT_CALL(
listener_,
@@ -1612,15 +1365,6 @@ TEST_P(ProtoStreamObjectWriterStructTest, OptionStructIntAsStringsTest) {
CheckOutput(struct_type);
}
-TEST_P(ProtoStreamObjectWriterStructTest, ValuePreservesNull) {
- ValueWrapper value;
- value.mutable_value()->set_null_value(google::protobuf::NULL_VALUE);
-
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")->RenderNull("value")->EndObject();
- CheckOutput(value);
-}
-
class ProtoStreamObjectWriterMapTest : public BaseProtoStreamObjectWriterTest {
protected:
ProtoStreamObjectWriterMapTest()
@@ -1664,16 +1408,13 @@ TEST_P(ProtoStreamObjectWriterMapTest, RepeatedMapKeyTest) {
class ProtoStreamObjectWriterAnyTest : public BaseProtoStreamObjectWriterTest {
protected:
ProtoStreamObjectWriterAnyTest() {
- std::vector<const Descriptor*> descriptors;
+ vector<const Descriptor*> descriptors;
descriptors.push_back(AnyOut::descriptor());
- descriptors.push_back(Book::descriptor());
- descriptors.push_back(google::protobuf::Any::descriptor());
descriptors.push_back(google::protobuf::DoubleValue::descriptor());
- descriptors.push_back(google::protobuf::FieldMask::descriptor());
- descriptors.push_back(google::protobuf::Int32Value::descriptor());
- descriptors.push_back(google::protobuf::Struct::descriptor());
descriptors.push_back(google::protobuf::Timestamp::descriptor());
+ descriptors.push_back(google::protobuf::Any::descriptor());
descriptors.push_back(google::protobuf::Value::descriptor());
+ descriptors.push_back(google::protobuf::Struct::descriptor());
ResetTypeInfo(descriptors);
}
};
@@ -1706,7 +1447,8 @@ TEST_P(ProtoStreamObjectWriterAnyTest, RecursiveAny) {
any->set_type_url("type.googleapis.com/google.protobuf.Any");
::google::protobuf::Any nested_any;
- nested_any.set_type_url("type.googleapis.com/google.protobuf.testing.AnyM");
+ nested_any.set_type_url(
+ "type.googleapis.com/google.protobuf.testing.anys.AnyM");
AnyM m;
m.set_foo("foovalue");
@@ -1719,12 +1461,11 @@ TEST_P(ProtoStreamObjectWriterAnyTest, RecursiveAny) {
->RenderString("@type", "type.googleapis.com/google.protobuf.Any")
->StartObject("value")
->RenderString("@type",
- "type.googleapis.com/google.protobuf.testing.AnyM")
+ "type.googleapis.com/google.protobuf.testing.anys.AnyM")
->RenderString("foo", "foovalue")
->EndObject()
->EndObject()
->EndObject();
- CheckOutput(out, 107);
}
TEST_P(ProtoStreamObjectWriterAnyTest, DoubleRecursiveAny) {
@@ -1737,7 +1478,7 @@ TEST_P(ProtoStreamObjectWriterAnyTest, DoubleRecursiveAny) {
::google::protobuf::Any second_nested_any;
second_nested_any.set_type_url(
- "type.googleapis.com/google.protobuf.testing.AnyM");
+ "type.googleapis.com/google.protobuf.testing.anys.AnyM");
AnyM m;
m.set_foo("foovalue");
@@ -1753,110 +1494,18 @@ TEST_P(ProtoStreamObjectWriterAnyTest, DoubleRecursiveAny) {
->RenderString("@type", "type.googleapis.com/google.protobuf.Any")
->StartObject("value")
->RenderString("@type",
- "type.googleapis.com/google.protobuf.testing.AnyM")
+ "type.googleapis.com/google.protobuf.testing.anys.AnyM")
->RenderString("foo", "foovalue")
->EndObject()
->EndObject()
->EndObject()
->EndObject();
- CheckOutput(out, 151);
-}
-
-TEST_P(ProtoStreamObjectWriterAnyTest, TypeUrlAtEnd) {
- Book book;
- book.set_title("C++");
- book.set_length(1234);
- book.set_content("Hello World!");
-
- ::google::protobuf::Any any;
- any.PackFrom(book);
-
- ::google::protobuf::Any outer_any;
- outer_any.PackFrom(any);
-
- AnyOut out;
- out.mutable_any()->PackFrom(outer_any);
-
- // Put the @type field at the end of each Any message. Parsers should
- // be able to accept that.
- ow_->StartObject("")
- ->StartObject("any")
- ->StartObject("value")
- ->StartObject("value")
- ->RenderString("title", "C++")
- ->RenderInt32("length", 1234)
- ->RenderBytes("content", "Hello World!")
- ->RenderString("@type",
- "type.googleapis.com/google.protobuf.testing.Book")
- ->EndObject()
- ->RenderString("@type", "type.googleapis.com/google.protobuf.Any")
- ->EndObject()
- ->RenderString("@type", "type.googleapis.com/google.protobuf.Any")
- ->EndObject()
- ->EndObject();
- CheckOutput(out);
-}
-
-// Same as TypeUrlAtEnd, but use temporary string values to make sure we don't
-// mistakenly store StringPiece objects pointing to invalid memory.
-TEST_P(ProtoStreamObjectWriterAnyTest, TypeUrlAtEndWithTemporaryStrings) {
- Book book;
- book.set_title("C++");
- book.set_length(1234);
- book.set_content("Hello World!");
-
- ::google::protobuf::Any any;
- any.PackFrom(book);
-
- ::google::protobuf::Any outer_any;
- outer_any.PackFrom(any);
-
- AnyOut out;
- out.mutable_any()->PackFrom(outer_any);
-
- string name, value;
- // Put the @type field at the end of each Any message. Parsers should
- // be able to accept that.
- ow_->StartObject("")->StartObject("any");
- {
- ow_->StartObject("value");
- {
- ow_->StartObject("value");
- {
- name = "title";
- value = "C++";
- ow_->RenderString(name, value);
- name = "length";
- ow_->RenderInt32(name, 1234);
- name = "content";
- value = "Hello World!";
- ow_->RenderBytes(name, value);
- name = "@type";
- value = "type.googleapis.com/google.protobuf.testing.Book";
- ow_->RenderString(name, value);
- }
- ow_->EndObject();
-
- name = "@type";
- value = "type.googleapis.com/google.protobuf.Any";
- ow_->RenderString(name, value);
- }
- ow_->EndObject();
-
- name = "@type";
- value = "type.googleapis.com/google.protobuf.Any";
- ow_->RenderString(name, value);
- }
- ow_->EndObject()->EndObject();
- CheckOutput(out);
}
TEST_P(ProtoStreamObjectWriterAnyTest, EmptyAnyFromEmptyObject) {
AnyOut out;
out.mutable_any();
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
-
ow_->StartObject("")->StartObject("any")->EndObject()->EndObject();
CheckOutput(out, 2);
@@ -1865,10 +1514,11 @@ TEST_P(ProtoStreamObjectWriterAnyTest, EmptyAnyFromEmptyObject) {
TEST_P(ProtoStreamObjectWriterAnyTest, AnyWithoutTypeUrlFails1) {
AnyOut any;
- EXPECT_CALL(listener_,
- InvalidValue(_, StringPiece("Any"),
- StringPiece("Missing @type for any field in "
- "google.protobuf.testing.AnyOut")));
+ EXPECT_CALL(
+ listener_,
+ InvalidValue(_, StringPiece("Any"),
+ StringPiece("Missing or invalid @type for any field in "
+ "google.protobuf.testing.anys.AnyOut")));
ow_->StartObject("")
->StartObject("any")
@@ -1882,10 +1532,11 @@ TEST_P(ProtoStreamObjectWriterAnyTest, AnyWithoutTypeUrlFails1) {
TEST_P(ProtoStreamObjectWriterAnyTest, AnyWithoutTypeUrlFails2) {
AnyOut any;
- EXPECT_CALL(listener_,
- InvalidValue(_, StringPiece("Any"),
- StringPiece("Missing @type for any field in "
- "google.protobuf.testing.AnyOut")));
+ EXPECT_CALL(
+ listener_,
+ InvalidValue(_, StringPiece("Any"),
+ StringPiece("Missing or invalid @type for any field in "
+ "google.protobuf.testing.anys.AnyOut")));
ow_->StartObject("")
->StartObject("any")
@@ -1899,10 +1550,11 @@ TEST_P(ProtoStreamObjectWriterAnyTest, AnyWithoutTypeUrlFails2) {
TEST_P(ProtoStreamObjectWriterAnyTest, AnyWithoutTypeUrlFails3) {
AnyOut any;
- EXPECT_CALL(listener_,
- InvalidValue(_, StringPiece("Any"),
- StringPiece("Missing @type for any field in "
- "google.protobuf.testing.AnyOut")));
+ EXPECT_CALL(
+ listener_,
+ InvalidValue(_, StringPiece("Any"),
+ StringPiece("Missing or invalid @type for any field in "
+ "google.protobuf.testing.anys.AnyOut")));
ow_->StartObject("")
->StartObject("any")
@@ -1947,21 +1599,9 @@ TEST_P(ProtoStreamObjectWriterAnyTest, AnyWithUnknownTypeFails) {
CheckOutput(any);
}
-TEST_P(ProtoStreamObjectWriterAnyTest, AnyIncorrectInputTypeFails) {
- AnyOut any;
-
- EXPECT_CALL(
- listener_,
- InvalidValue(_, StringPiece("type.googleapis.com/google.protobuf.Any"),
- StringPiece("1")));
- ow_->StartObject("")->RenderInt32("any", 1)->EndObject();
- CheckOutput(any);
-}
-
-TEST_P(ProtoStreamObjectWriterAnyTest, AnyAcceptsNull) {
+TEST_P(ProtoStreamObjectWriterAnyTest, AnyNullInputFails) {
AnyOut any;
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
ow_->StartObject("")->RenderNull("any")->EndObject();
CheckOutput(any);
}
@@ -2199,116 +1839,11 @@ TEST_P(ProtoStreamObjectWriterAnyTest, AnyWellKnownTypesExpectObjectForAny) {
CheckOutput(any);
}
-// {
-// "any": {
-// "@type": "type.googleapis.com/google.protobuf.Any",
-// "value": null
-// }
-// }
-TEST_P(ProtoStreamObjectWriterAnyTest, AnyInAnyAcceptsNull) {
- AnyOut out;
- google::protobuf::Any empty;
- out.mutable_any()->PackFrom(empty);
-
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("any")
- ->RenderString("@type", "type.googleapis.com/google.protobuf.Any")
- ->RenderNull("value")
- ->EndObject()
- ->EndObject();
- CheckOutput(out);
-}
-
-// {
-// "any": {
-// "@type": "type.googleapis.com/google.protobuf.Timestamp",
-// "value": null
-// }
-// }
-TEST_P(ProtoStreamObjectWriterAnyTest, TimestampInAnyAcceptsNull) {
- AnyOut out;
- google::protobuf::Timestamp empty;
- out.mutable_any()->PackFrom(empty);
-
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("any")
- ->RenderString("@type", "type.googleapis.com/google.protobuf.Timestamp")
- ->RenderNull("value")
- ->EndObject()
- ->EndObject();
- CheckOutput(out);
-}
-
-// {
-// "any": {
-// "@type": "type.googleapis.com/google.protobuf.Duration",
-// "value": null
-// }
-// }
-TEST_P(ProtoStreamObjectWriterAnyTest, DurationInAnyAcceptsNull) {
- AnyOut out;
- google::protobuf::Duration empty;
- out.mutable_any()->PackFrom(empty);
-
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("any")
- ->RenderString("@type", "type.googleapis.com/google.protobuf.Duration")
- ->RenderNull("value")
- ->EndObject()
- ->EndObject();
- CheckOutput(out);
-}
-
-// {
-// "any": {
-// "@type": "type.googleapis.com/google.protobuf.FieldMask",
-// "value": null
-// }
-// }
-TEST_P(ProtoStreamObjectWriterAnyTest, FieldMaskInAnyAcceptsNull) {
- AnyOut out;
- google::protobuf::FieldMask empty;
- out.mutable_any()->PackFrom(empty);
-
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("any")
- ->RenderString("@type", "type.googleapis.com/google.protobuf.FieldMask")
- ->RenderNull("value")
- ->EndObject()
- ->EndObject();
- CheckOutput(out);
-}
-
-// {
-// "any": {
-// "@type": "type.googleapis.com/google.protobuf.Int32Value",
-// "value": null
-// }
-// }
-TEST_P(ProtoStreamObjectWriterAnyTest, WrapperInAnyAcceptsNull) {
- AnyOut out;
- google::protobuf::Int32Value empty;
- out.mutable_any()->PackFrom(empty);
-
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")
- ->StartObject("any")
- ->RenderString("@type", "type.googleapis.com/google.protobuf.Int32Value")
- ->RenderNull("value")
- ->EndObject()
- ->EndObject();
- CheckOutput(out);
-}
-
class ProtoStreamObjectWriterFieldMaskTest
: public BaseProtoStreamObjectWriterTest {
protected:
ProtoStreamObjectWriterFieldMaskTest() {
- std::vector<const Descriptor*> descriptors;
+ vector<const Descriptor*> descriptors;
descriptors.push_back(FieldMaskTest::descriptor());
descriptors.push_back(google::protobuf::FieldMask::descriptor());
ResetTypeInfo(descriptors);
@@ -2549,41 +2084,11 @@ TEST_P(ProtoStreamObjectWriterFieldMaskTest, MapKeyCanContainAnyChars) {
CheckOutput(expected);
}
-TEST_P(ProtoStreamObjectWriterFieldMaskTest, FieldMaskAcceptsNull) {
- FieldMaskTest expected;
- EXPECT_CALL(listener_, InvalidValue(_, _, _)).Times(0);
- ow_->StartObject("")->RenderNull("single_mask")->EndObject();
- CheckOutput(expected);
-}
-
-class ProtoStreamObjectWriterWrappersTest
- : public BaseProtoStreamObjectWriterTest {
- protected:
- ProtoStreamObjectWriterWrappersTest() {
- std::vector<const Descriptor*> descriptors;
- descriptors.push_back(Int32Wrapper::descriptor());
- descriptors.push_back(google::protobuf::Int32Value::descriptor());
- ResetTypeInfo(descriptors);
- }
-};
-
-INSTANTIATE_TEST_CASE_P(DifferentTypeInfoSourceTest,
- ProtoStreamObjectWriterWrappersTest,
- ::testing::Values(
- testing::USE_TYPE_RESOLVER));
-
-TEST_P(ProtoStreamObjectWriterWrappersTest, WrapperAcceptsNull) {
- Int32Wrapper wrapper;
- EXPECT_CALL(listener_, InvalidName(_, _, _)).Times(0);
- ow_->StartObject("")->RenderNull("int32")->EndObject();
- CheckOutput(wrapper);
-}
-
class ProtoStreamObjectWriterOneOfsTest
: public BaseProtoStreamObjectWriterTest {
protected:
ProtoStreamObjectWriterOneOfsTest() {
- std::vector<const Descriptor*> descriptors;
+ vector<const Descriptor*> descriptors;
descriptors.push_back(OneOfsRequest::descriptor());
descriptors.push_back(google::protobuf::Struct::descriptor());
ResetTypeInfo(descriptors);
@@ -2746,6 +2251,7 @@ TEST_P(ProtoStreamObjectWriterOneOfsTest,
StringPiece("oneof field 'data' is already set. "
"Cannot set 'intData'")));
+ using google::protobuf::testing::oneofs::OneOfsRequest;
// JSON:
// { "anyData":
// { "@type":

Powered by Google App Engine
This is Rietveld 408576698