diff options
-rw-r--r-- | tests/errors.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/errors.rs b/tests/errors.rs index 54cb93a..1c3204c 100644 --- a/tests/errors.rs +++ b/tests/errors.rs @@ -45,6 +45,28 @@ fn test_error_type() { } #[test] +fn test_error_deser_whole() { + #[derive(Deserialize, Debug)] + struct Place { + #[allow(dead_code)] + name: usize, // is actually s string + } + + #[derive(Deserialize, Debug)] + struct Output { + #[allow(dead_code)] + place: Place, + } + + let c = make(); + let err = c.try_deserialize::<Output>().unwrap_err().to_string(); + assert_eq!( + err, + "invalid type: string \"Torre di Pisa\", expected an integer for key `place.name` in tests/Settings.toml", + ); +} + +#[test] fn test_error_type_detached() { let c = make(); |