From c5f3ee5095356ec0cd094a249e1320c0c1ad1022 Mon Sep 17 00:00:00 2001 From: Dave Kwon Date: Tue, 7 Feb 2023 16:35:51 -0800 Subject: [PATCH] Add complex adapted element test case for UseOpEncode Summary: Add complex element type for test coverage Reviewed By: yfeldblum, bahadird Differential Revision: D42749418 fbshipit-source-id: 10bc68a18efcacf8f31d3a3c3594e939b98099a1 --- third-party/thrift/src/thrift/test/UseOpEncode.thrift | 13 +++++++++++++ third-party/thrift/src/thrift/test/UseOpEncodeTest.cpp | 10 ++++++++++ 2 files changed, 23 insertions(+) diff --git a/third-party/thrift/src/thrift/test/UseOpEncode.thrift b/third-party/thrift/src/thrift/test/UseOpEncode.thrift index c2ca46f7483..97e6904a1ca 100644 --- a/third-party/thrift/src/thrift/test/UseOpEncode.thrift +++ b/third-party/thrift/src/thrift/test/UseOpEncode.thrift @@ -36,6 +36,15 @@ typedef Bar AdaptedBar @cpp.Adapter{name = "::apache::thrift::test::TemplatedTestAdapter"} typedef i32 AdaptedI32 +@cpp.Adapter{name = "::apache::thrift::test::TemplatedTestAdapter"} +typedef set AdaptedSetOfI32 + +@cpp.Adapter{name = "::apache::thrift::test::TemplatedTestAdapter"} +typedef set AdaptedSetOfAdaptedI32 + +@cpp.Adapter{name = "::apache::thrift::test::TemplatedTestAdapter"} +typedef set AdaptedSetOfAdaptedSetOfAdaptedI32 + enum Enum { first = 1, second = 2, @@ -72,6 +81,10 @@ struct OpEncodeStruct { 18: i64 (cpp.type = "Timestamp", cpp.indirection) timestamp; 19: map> nested_map_field; + + 20: list field20; + 21: list field21; + 22: list field22; } struct Baz { diff --git a/third-party/thrift/src/thrift/test/UseOpEncodeTest.cpp b/third-party/thrift/src/thrift/test/UseOpEncodeTest.cpp index 303bf86ce5b..49e92788a1d 100644 --- a/third-party/thrift/src/thrift/test/UseOpEncodeTest.cpp +++ b/third-party/thrift/src/thrift/test/UseOpEncodeTest.cpp @@ -64,6 +64,13 @@ void testUseOpEncode() { original.inplace_adapted_list_field()->value.push_back(adaptedFoo); original.nested_map_field().emplace()[adaptedFoo] = { {adaptedBar, adaptedInt}}; + original.field20().emplace().push_back( + test::TemplatedTestAdapter::fromThrift(std::set{1})); + original.field21().emplace().push_back( + test::Wrapper>>{{{1}}}); + original.field22().emplace().push_back( + test::Wrapper>>>>{ + {{{{1}}}}}); original.write(&writer); @@ -79,6 +86,9 @@ void testUseOpEncode() { test::TemplatedTestAdapter::fromThrift(foo)); result.inplace_adapted_list_field()->value.push_back( test::TemplatedTestAdapter::fromThrift(foo)); + result.field20()->emplace_back(); + result.field21()->emplace_back(); + result.field22()->emplace_back(); result.read(&reader); EXPECT_EQ(result, original); -- 2.11.4.GIT