From 4d5c40d5ee0c0646ae39ea36ac6172defe7b1492 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 2 Feb 2024 19:03:00 +0100 Subject: [PATCH] Add test for serde renamed member Signed-off-by: Matthias Beyer --- tests/rename.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/rename.rs diff --git a/tests/rename.rs b/tests/rename.rs new file mode 100644 index 00000000..79c41ece --- /dev/null +++ b/tests/rename.rs @@ -0,0 +1,23 @@ +#[test] +fn test_rename_attr() { + use config::{Config, File, FileFormat}; + + #[allow(unused)] + #[derive(serde::Deserialize, Debug)] + struct MyConfig { + #[serde(rename = "FooBar")] + foo_bar: String, + } + + const MY_CONFIG: &str = r#"{ + "FooBar": "Hello, world!" + }"#; + + let cfg = Config::builder() + .add_source(File::from_str(MY_CONFIG, FileFormat::Json)) + .build() + .unwrap(); + + let desered: Result = cfg.try_deserialize(); + assert!(desered.is_ok(), "Not Ok(_): {}", desered.unwrap_err()); +}