From d3492d8d36af377ac4d07637b82a95862ca26c68 Mon Sep 17 00:00:00 2001 From: Mingun Date: Mon, 7 Aug 2023 21:53:32 +0500 Subject: [PATCH] Reuse type in newtype_variant_containing_unit_struct --- .../tests/test_enum_internally_tagged.rs | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/test_suite/tests/test_enum_internally_tagged.rs b/test_suite/tests/test_enum_internally_tagged.rs index 55069a5f..b7568b9a 100644 --- a/test_suite/tests/test_enum_internally_tagged.rs +++ b/test_suite/tests/test_enum_internally_tagged.rs @@ -28,6 +28,7 @@ struct Struct { enum InternallyTagged { Unit, NewtypeUnit(()), + NewtypeUnitStruct(Unit), NewtypeNewtype(Newtype), NewtypeMap(BTreeMap), NewtypeStruct(Struct), @@ -169,6 +170,7 @@ fn wrong_tag() { "unknown variant `Z`, expected one of \ `Unit`, \ `NewtypeUnit`, \ + `NewtypeUnitStruct`, \ `NewtypeNewtype`, \ `NewtypeMap`, \ `NewtypeStruct`, \ @@ -638,40 +640,36 @@ fn newtype_variant_containing_externally_tagged_enum() { #[test] fn newtype_variant_containing_unit_struct() { - #[derive(Debug, PartialEq, Serialize, Deserialize)] - #[serde(tag = "tag")] - enum Message { - Info(Unit), - } + let value = InternallyTagged::NewtypeUnitStruct(Unit); assert_tokens( - &Message::Info(Unit), + &value, &[ Token::Map { len: Some(1) }, Token::Str("tag"), - Token::Str("Info"), + Token::Str("NewtypeUnitStruct"), Token::MapEnd, ], ); assert_de_tokens( - &Message::Info(Unit), + &value, &[ Token::Struct { - name: "Message", + name: "InternallyTagged", len: 1, }, Token::Str("tag"), - Token::Str("Info"), + Token::Str("NewtypeUnitStruct"), Token::StructEnd, ], ); assert_de_tokens( - &Message::Info(Unit), + &value, &[ Token::Seq { len: Some(1) }, - Token::Str("Info"), + Token::Str("NewtypeUnitStruct"), // tag Token::SeqEnd, ], );