Add tests for all fields skipped
This commit is contained in:
parent
cb5e7c6264
commit
fff6c9cb66
@ -40,6 +40,19 @@ struct StructDenyUnknown {
|
|||||||
b: i32,
|
b: i32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Debug, Deserialize)]
|
||||||
|
struct StructSkipAll {
|
||||||
|
#[serde(skip_deserializing)]
|
||||||
|
a: i32,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Debug, Deserialize)]
|
||||||
|
#[serde(deny_unknown_fields)]
|
||||||
|
struct StructSkipAllDenyUnknown {
|
||||||
|
#[serde(skip_deserializing)]
|
||||||
|
a: i32,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(PartialEq, Debug, Deserialize)]
|
#[derive(PartialEq, Debug, Deserialize)]
|
||||||
enum Enum {
|
enum Enum {
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
@ -689,6 +702,29 @@ declare_tests! {
|
|||||||
Token::StructEnd,
|
Token::StructEnd,
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
test_struct_skip_all {
|
||||||
|
StructSkipAll { a: 0 } => &[
|
||||||
|
Token::StructStart("StructSkipAll", 0),
|
||||||
|
Token::StructEnd,
|
||||||
|
],
|
||||||
|
StructSkipAll { a: 0 } => &[
|
||||||
|
Token::StructStart("StructSkipAll", 1),
|
||||||
|
Token::StructSep,
|
||||||
|
Token::Str("a"),
|
||||||
|
Token::I32(1),
|
||||||
|
|
||||||
|
Token::StructSep,
|
||||||
|
Token::Str("b"),
|
||||||
|
Token::I32(2),
|
||||||
|
Token::StructEnd,
|
||||||
|
],
|
||||||
|
}
|
||||||
|
test_struct_skip_all_deny_unknown {
|
||||||
|
StructSkipAllDenyUnknown { a: 0 } => &[
|
||||||
|
Token::StructStart("StructSkipAllDenyUnknown", 0),
|
||||||
|
Token::StructEnd,
|
||||||
|
],
|
||||||
|
}
|
||||||
test_enum_unit {
|
test_enum_unit {
|
||||||
Enum::Unit => &[
|
Enum::Unit => &[
|
||||||
Token::EnumUnit("Enum", "Unit"),
|
Token::EnumUnit("Enum", "Unit"),
|
||||||
@ -816,6 +852,14 @@ declare_error_tests! {
|
|||||||
],
|
],
|
||||||
Error::UnknownField("b".to_owned()),
|
Error::UnknownField("b".to_owned()),
|
||||||
}
|
}
|
||||||
|
test_skip_all_deny_unknown<StructSkipAllDenyUnknown> {
|
||||||
|
&[
|
||||||
|
Token::StructStart("StructSkipAllDenyUnknown", 1),
|
||||||
|
Token::StructSep,
|
||||||
|
Token::Str("a"),
|
||||||
|
],
|
||||||
|
Error::UnknownField("a".to_owned()),
|
||||||
|
}
|
||||||
test_unknown_variant<Enum> {
|
test_unknown_variant<Enum> {
|
||||||
&[
|
&[
|
||||||
Token::EnumUnit("Enum", "Foo"),
|
Token::EnumUnit("Enum", "Foo"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user