From 451700d3d253d8f37b2a0495e8e1a730787361ac Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Tue, 12 Apr 2016 08:26:56 -0700 Subject: [PATCH] Add more tests for renaming missing field --- serde_tests/tests/test_annotations.rs | 44 ++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/serde_tests/tests/test_annotations.rs b/serde_tests/tests/test_annotations.rs index 68f8c55c..1608e85e 100644 --- a/serde_tests/tests/test_annotations.rs +++ b/serde_tests/tests/test_annotations.rs @@ -698,10 +698,8 @@ fn test_deserialize_with_enum() { ); } - - #[test] -fn test_missing_renamed_field() { +fn test_missing_renamed_field_struct() { assert_de_tokens_error::( vec![ Token::StructStart("Superhero", Some(2)), @@ -713,5 +711,43 @@ fn test_missing_renamed_field() { Token::StructEnd, ], Error::MissingFieldError("a3"), - ) + ); + + assert_de_tokens_error::( + vec![ + Token::StructStart("SuperheroDe", Some(2)), + + Token::StructSep, + Token::Str("a1"), + Token::I32(1), + + Token::StructEnd, + ], + Error::MissingFieldError("a5"), + ); +} + +#[test] +fn test_missing_renamed_field_enum() { + assert_de_tokens_error::( + vec![ + Token::EnumMapStart("Superhero", "barry_allan", Some(1)), + + Token::EnumMapEnd, + ], + Error::MissingFieldError("b"), + ); + + assert_de_tokens_error::>( + vec![ + Token::EnumMapStart("SuperheroDe", "jason_todd", Some(2)), + + Token::EnumMapSep, + Token::Str("a"), + Token::I8(0), + + Token::EnumMapEnd, + ], + Error::MissingFieldError("d"), + ); }