Reuse type in unit_variant_with_unknown_fields and add test for sequence

This commit is contained in:
Mingun 2023-08-07 21:42:47 +05:00
parent eb59c776ca
commit f97160f715

View File

@ -761,25 +761,30 @@ fn newtype_variant_containing_unit() {
#[test] #[test]
fn unit_variant_with_unknown_fields() { fn unit_variant_with_unknown_fields() {
#[derive(Debug, PartialEq, Deserialize)] let value = InternallyTagged::Unit;
#[serde(tag = "tag")]
enum Data {
A,
}
let data = Data::A;
assert_de_tokens( assert_de_tokens(
&data, &value,
&[ &[
Token::Map { len: None }, Token::Map { len: None },
Token::Str("tag"), Token::Str("tag"),
Token::Str("A"), Token::Str("Unit"),
Token::Str("b"), Token::Str("b"),
Token::I32(0), Token::I32(0),
Token::MapEnd, Token::MapEnd,
], ],
); );
// Unknown elements are not allowed in sequences
assert_de_tokens_error::<InternallyTagged>(
&[
Token::Seq { len: None },
Token::Str("Unit"),
Token::I32(0),
Token::SeqEnd,
],
"invalid length 1, expected 0 elements in sequence",
);
} }
#[test] #[test]