mirror of
https://gitee.com/openharmony/third_party_rust_serde
synced 2024-11-23 06:50:23 +00:00
Merge pull request #1974 from Mingun/new-internally-tagged-tests
New internally tagged tests
This commit is contained in:
commit
7cfebbcd72
@ -1287,8 +1287,9 @@ mod content {
|
||||
// }
|
||||
//
|
||||
// We want {"topic":"Info"} to deserialize even though
|
||||
// ordinarily unit structs do not deserialize from empty map.
|
||||
// ordinarily unit structs do not deserialize from empty map/seq.
|
||||
Content::Map(ref v) if v.is_empty() => visitor.visit_unit(),
|
||||
Content::Seq(ref v) if v.is_empty() => visitor.visit_unit(),
|
||||
_ => self.deserialize_any(visitor),
|
||||
}
|
||||
}
|
||||
|
@ -994,6 +994,28 @@ fn test_internally_tagged_struct_variant_containing_unit_variant() {
|
||||
Token::StructEnd,
|
||||
],
|
||||
);
|
||||
|
||||
assert_de_tokens(
|
||||
&Message::Log { level: Level::Info },
|
||||
&[
|
||||
Token::Map { len: Some(2) },
|
||||
Token::Str("action"),
|
||||
Token::Str("Log"),
|
||||
Token::Str("level"),
|
||||
Token::BorrowedStr("Info"),
|
||||
Token::MapEnd,
|
||||
],
|
||||
);
|
||||
|
||||
assert_de_tokens(
|
||||
&Message::Log { level: Level::Info },
|
||||
&[
|
||||
Token::Seq { len: Some(2) },
|
||||
Token::Str("Log"),
|
||||
Token::BorrowedStr("Info"),
|
||||
Token::SeqEnd,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1877,6 +1899,25 @@ fn test_internally_tagged_newtype_variant_containing_unit_struct() {
|
||||
Token::MapEnd,
|
||||
],
|
||||
);
|
||||
|
||||
assert_de_tokens(
|
||||
&Message::Info(Info),
|
||||
&[
|
||||
Token::Struct { name: "Message", len: 1 },
|
||||
Token::Str("topic"),
|
||||
Token::Str("Info"),
|
||||
Token::StructEnd,
|
||||
],
|
||||
);
|
||||
|
||||
assert_de_tokens(
|
||||
&Message::Info(Info),
|
||||
&[
|
||||
Token::Seq { len: Some(1) },
|
||||
Token::Str("Info"),
|
||||
Token::SeqEnd,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
#[deny(safe_packed_borrows)]
|
||||
|
Loading…
Reference in New Issue
Block a user